I run a small e-commerce shop and use Claude Code as my daily ops co-pilot — managing Zendesk tickets, order lookups, and accounting. The problem: I didn’t want API keys anywhere near the agent. The core idea: Any REST API can become a CLI tool that Claude Code calls natively from bash. No MCP server, no custom SDK — just a proxy and a generic REST client. The Architecture Claude Code calls Restish CLI (generic REST client) via bash. Authentication: Uses GCP identity tokens (short-lived, no API keys on your local machine). The Bridge: Hits a Go proxy on Cloud Run (~400 LOC). Execution: Proxy injects real API keys from Secret Manager, forwards to Billbee / Zendesk / Supabase / etc. Feedback Loop: JSON response flows back → Claude parses, decides, and calls the next endpoint. Why GCP + Go? You could build token issuance, secret storage, and autoscaling yourself — but why? Go on Cloud Run: Cold starts under 100ms, scales to zero (pay nothing when idle). Developer Experience: gcloud is already on every dev machine. Maintenance: The whole proxy is ~400 lines of code. Results In practice: Today I processed 5 support tickets in one shot — Claude read each ticket, composed replies, updated statuses, and logged everything to a Google Sheet. Total time: ~2 minutes. While I was doing some other tasks :D Adding a new API takes about 10 minutes: Add a secret, add the route to the proxy, and redeploy. I just sunset a 44-command TypeScript CLI for this. Claude Code’s bash tool is the universal glue — you don’t need fancy agent tooling; you just need your APIs to be callable from the command line. Want to try this? Just paste this architecture into Claude Code and ask it to build the proxy for you. That’s basically how I built mine. 2026 will be the rebirth of CLIs. submitted by /u/Haunting_One_2131
Originally posted by u/Haunting_One_2131 on r/ClaudeCode
