$ man how-to/cli-ecosystem-overview
CLI Toolsintermediate
The CLI Ecosystem
Why CLI access is king and how every major GTM tool is converging on terminal-first workflows
Why CLI Access Is the Most Important Thing
Every major platform is shipping a CLI. HubSpot has hs. Salesforce has sf. Vercel has vercel. Attio is building one. Cargo.ai exposes its pipeline through CLI commands. The pattern is clear: the future of tool access is the terminal, not the browser.
Why this matters for GTM engineers: CLI access means scriptability. Anything you can type once, you can automate forever. A CLI command to pull pipeline data becomes a cron job that runs every morning. A CLI command to create a contact becomes a bulk import script. A CLI command to check campaign status becomes a Slack bot.
MCPs gave us the first wave of programmatic access. But MCPs drain context windows. Every MCP tool definition eats tokens. A HubSpot MCP with 30 tool definitions burns context before you ask your first question. A CLI binary sitting on your machine costs zero context. You call it when you need it and it returns results.
PATTERN
The CLI Landscape Right Now
HubSpot CLI (hs): manage CRM objects, list deals, create contacts, pull reports. Still maturing but functional for basic operations.
Salesforce CLI (sf): the most mature GTM CLI. Deploy metadata, query SOQL, manage orgs, run tests. Enterprise-grade and battle-tested.
Vercel CLI (vercel): deploy sites, manage environment variables, check build status, tail logs. Essential for anyone deploying on Vercel.
Attio CLI: early stage but promising. CRM operations from the terminal. Read and write records, manage lists, search contacts.
Claude Code: this is the meta-CLI. It wraps every other CLI. Instead of memorizing sf data query "SELECT Id FROM Account", you tell Claude Code "pull all accounts created this week from Salesforce" and it writes and runs the sf command for you. Natural language CLI access to every tool that has a CLI.
PRO TIP
Natural Language CLI Through Claude Code
This is the insight that changes everything. You do not need to memorize CLI syntax. Claude Code reads the docs, constructs the command, runs it, and interprets the output. Your job is to describe intent. The agent translates intent to commands.
"Check if our Vercel deployment succeeded" becomes vercel ls --json | jq. "Find all HubSpot contacts added yesterday" becomes hs contacts list --created-after. "Query Salesforce for open opportunities over 50k" becomes the right SOQL query piped through sf.
The compound effect: every new CLI that ships instantly becomes accessible through Claude Code. No learning curve. No docs to read. Describe what you want, let the agent figure out the syntax. This is why CLI access matters more than GUI access. GUIs require human eyes and clicks. CLIs require text in and text out. AI agents are built for text in and text out.
CODE
Setting Up Your CLI Stack
Start with the CLIs you actually use. Do not install everything at once.
brew install vercel - if you deploy on Vercel
npm install -g @hubspot/cli - if you use HubSpot
npm install -g @salesforce/cli - if you use Salesforce
pip install attio-cli - when available
Each CLI has an auth step. Usually oauth or an API key. Run the auth command once and it stores credentials locally. After that, every command authenticates automatically.
The test: open Claude Code and say "use the Vercel CLI to show me my recent deployments." If it works, your CLI stack is connected. If it fails, check that the CLI is in your PATH and authenticated.
knowledge guide
related guides