Offprompt
Officialoffprompt
offprompt lets a coding agent ask you for a secret and have it land where the project needs it, without the value passing through the model.
Agents need API keys. Paste one into the chat and it goes into the model's context, the transcript on disk and the provider's logs, and stays there. offprompt gives the agent another way to ask: a tool call that opens a page in your browser, from which the value goes straight into the file. The transcript only ever sees the key's name.
How it works
The agent asks. It calls
collect_secretwith every key it needs, why it needs them, and the file they go in, then waits inside the call.A page opens on
127.0.0.1in your browser. It says which agent is asking, what for, and which file it writes to. Each field checks its value as you type, paste or import it, and links to where the key is made.The file is written. offprompt answers the agent with the key names, the file and a four-emoji fingerprint, the same four your page shows. From then on the agent reads the values from the environment by name.
When the agent runs in a cloud sandbox, it gives you a link to the page instead. The page reaches you through a Cloudflare tunnel, and your browser encrypts the values first, to a key only the sandbox holds.
The page itself can be tried at offprompt.dev/playground.
Related MCP server: vault-mcp
Install
In a project's folder:
npx offprompt initThat puts the server in the project as tools/offprompt/mcp.mjs, one file that runs on node
alone, and declares it in the project config of each agent found on your machine. Commit those
files together with tools/offprompt/, and everyone on the project gets offprompt, as does every
cloud sandbox that clones it.
To have offprompt in every project you open instead, install it for yourself:
npx offprompt init -gnpx offprompt list # every agent, whether it was found, and how offprompt reaches it
npx offprompt remove # out of this project
npx offprompt remove -g # out of every agent that has itoffprompt runs on Node 22 or later. Installation covers
choosing agents with --agent, and updating.
Agents
offprompt is an MCP server, so any agent that speaks MCP can use it. init sets these up:
Agent | In a project | With |
Claude Code |
| A plugin |
Codex |
| A plugin |
Cursor |
| A copy of the plugin in |
Pi |
| A server in Pi's agent directory |
Every other agent add-mcp knows, such as Gemini CLI, VS Code, OpenCode, Goose, Kiro CLI, Windsurf and Zed | No | A server in its MCP config |
Claude Code asks once before it starts a server a project declares. Codex and Pi read a project's config only in a project you trust. Agents has each one in detail.
Documentation
docs.offprompt.dev has the rest: what the agent can ask for, the page, every provider offprompt knows and the checks on its keys, the tools, cloud sandboxes and troubleshooting. offprompt.dev shows offprompt at work.
Security
A value goes from your browser to offprompt to the file, and never through the model, the transcript, or a tool's arguments and results. offprompt does not guard the file once it is written, or protect against another program running as you: the threat model says what it covers, and SECURITY.md how to report a problem.
Development
A pnpm workspace, on Node 22.13 or later. From a checkout, pnpm install, then
pnpm agents --project ~/projects/some-project installs offprompt into a project the way
npx offprompt init does. CONTRIBUTING.md has the tests, the layout and how
to add a provider.
Licence
MIT, for everything in this repository. The parts that are other people's work keep their
own terms, listed in packages/offprompt/THIRD_PARTY_NOTICES.md for the server, the
packages bundled into it and the page it serves, in apps/site/THIRD_PARTY_NOTICES.md for
offprompt.dev and in apps/docs/public/third-party-notices.txt for docs.offprompt.dev.
This server cannot be deployed
Maintenance
Related MCP Connectors
A secret store for AI agents: the agent never sees the plaintext.
One-time, end-to-end encrypted secrets for agents. 0.005 USDC per secret via x402.
- LockboxOAuthrun.lockbox
Send API keys and private files to someone else's agent, end-to-end encrypted.
Share documents privately from an AI agent. The agent gets a link; it cannot read the file.
Related MCP Servers
- AlicenseAqualityDmaintenanceShare encrypted, self-destructing secrets from your AI agent. Zero-knowledge E2E encryption. Agent-blind input sources (env:, file:, dotenv:) keep secrets out of LLM context.45 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI coding agents to securely inject API keys and secrets into environment files, configs, or commands without the agent ever seeing the secret values.3 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables agents to use secrets without exposing them, by injecting values into commands and redacting them from all outputs and transcripts.5 npmMIT
- AlicenseNot gradedqualityCmaintenanceLets AI coding agents read project documentation and secret metadata, then use credentials by injecting them into child processes while redacting the values from all output. Agents can deploy, migrate databases, or SSH using real secrets without the values ever entering their context, transcripts, or logs.MIT