Your agent shouldn't need to know your Slack token. With Latchkey, it doesn’t. One command, any API, no custom connectors, and credentials stay on your machine.
25+ services supported out of the box. Register any HTTP API at runtime. Works with Claude Code, OpenCode, Codex, and more.



Latchkey opens a browser, you log in, it captures the token and closes the tab.
Tokens live under ~/.latchkey, locked with a password from your system keyring.
AWS signatures, Telegram URL tokens, anything that won't fit in a static header. Latchkey rewrites each call.
Point it at your GitLab, your internal Sentry, any HTTP API behind your VPN. Register once, call it like any public service.
Re-auth in one command. Your long-running agent picks up the new credentials without a restart.
Latchkey services info tells you whether a credential is valid, invalid, or missing. No more guessing why a call 401'd.
That's the key detail - decoupled credential lifecycle means the agent can keep running across token refreshes. Makes Latchkey much more practical for long-running workflows.


Sent this to a couple of engineers I know who are building local agent setups. They've been duct-taping credential management together for months, this is right up their alley.


A command-line tool that injects API credentials into your agent's curl calls. You log in once. Your agent runs standard curl. Latchkey adds the auth header on the way out.
No intermediary, no new protocol. Latchkey hands your request straight to the API. MCP wraps every service in a server you have to host. Latchkey just patches the auth into curl.
npm install -g latchkey, then latchkey auth browser <service> to log in. Your agent calls latchkey curl ... from there. Run latchkey ensure-browser once if you want browser login.
AWS, Calendly, Discord, Dropbox, Figma, GitHub, GitLab, Gmail, Google Workspace, Linear, Mailchimp, Notion, Sentry, Slack, Stripe, Telegram, Yelp, Zoom, and more landing each release.
Yes. latchkey services register <name> --base-api-url=... plus latchkey auth set with your token. Works for self-hosted GitLab, Mastodon, internal APIs, anything that takes static auth.
Encrypted on your machine under ~/.latchkey. Nothing leaves your computer except the actual API calls you make.