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.


I wanted to work on Latchkey because I felt that there was a real gap in the agentic ecosystem. As a developer and free software enthusiast, it seemed to me that there was no way to build a locally running user-facing application:
— That would let AI agents access user data across various third-party platforms
— Without relying on data connectors operated by intermediaries
— While being reasonably friendly to non-technical users
Latchkey was meant to change that by providing creative ways of transforming local browser logins into authentication artifacts usable in agentic flows. Its focus has since shifted a bit towards credential and permission management, but the original motivation remains a big part of why I'm still working on it.


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.