Merge CLI
The Merge CLI is a lightweight command-line tool for interacting with Agent Handler. Built specifically for AI coding agents - Claude Code, Cursor, Codex - that need progressive tool discovery without overwhelming the context window. Search returns compact schemas; execute runs the tool; the agent doesn’t have to load every tool in the catalog up front.
It’s also useful for humans. Quick exploration, scripted automation, sanity-checking a Tool Pack from a terminal.
Install
pipx is the recommended installer. It keeps the CLI isolated from your other Python packages.
pip install merge-api works too, but pipx avoids dependency conflicts when you upgrade.
Pick an auth mode
Two ways to authenticate. Pick one based on context.
OAuth (merge login). Opens a browser, completes OAuth, stores a token. Use this when you’re a developer building locally and want the CLI to act as you.
API key (merge configure). Interactive prompt that captures your API key, Tool Pack ID, and Registered User ID. Use this when the CLI needs to act as a specific Registered User - common in CI or when scripting against test data.
If both modes are configured, OAuth takes precedence. To force API-key mode, unset the oauth section of ~/.merge/config.json or set the env vars (next section) explicitly.
Configuration precedence
Credentials resolve in this order, highest priority first:
- CLI flags -
--api-key,--tool-pack-id,--registered-user-id,--base-url. - Environment variables -
MERGE_AH_API_KEY,MERGE_AH_TOOL_PACK_ID,MERGE_AH_REGISTERED_USER_ID,MERGE_AH_BASE_URL. - Config file -
~/.merge/config.json.
Env vars are the right path for CI. The config file is the right path for local development.
~/.merge/config.json contains your API key in plain text. Don’t commit it; if it’s on a shared machine, use env vars and chmod 600 the file at minimum.
Set up your AI agent
merge setup writes the right CLI workflow instructions into your agent’s config file.
Claude Code
Cursor
AGENTS.md (cross-tool)
Appends a ## Merge CLI section to CLAUDE.md (creates the file if absent) and adds Bash(merge *) permission to .claude/settings.json. Idempotent - safe to run multiple times.
After setup, your agent will use merge search-tools and merge execute-tool for any third-party action automatically.
Commands
Search
Useful flags:
--Connector slack- narrow to one Connector. Repeatable.--max-results 5- return up to N results (default 2, max 50).--schema compact|full|none- schema detail. Default is compact (descriptions stripped) to save context. Usefullwhen you need every field’s description;nonewhen you only need names.
Execute
Parameters always go in input. Fields the tool’s schema marks optional can be omitted.
List and inspect
merge list-tools is useful for exploration; for everyday agent use, search-tools is faster and produces less context to wade through.
Output format
Every command returns JSON to stdout. Warnings and progress messages go to stderr - agents that pipe stdout into JSON parsers won’t choke.
Success:
Error:
Errors exit with code 1. Wrap CLI invocations in your scripts accordingly.
Common errors
For a fuller troubleshooting catalog, see Troubleshooting.
Next
Embed authentication for your end users with Link.