KeyValet vs 1Password for AI agents

1Password manages your logins; KeyValet manages your agent’s API calls. A detailed, honest comparison — including where 1Password is ahead.

Short version: 1Password manages your logins. KeyValet manages your agent's API calls. They're not really competing — most KeyValet users should keep using 1Password for what it's good at, and a 1Password storage backend (reading op:// references live) is on our roadmap.

This page is specific about where that line is, because "it's complementary" is the kind of thing every vendor says and almost never backs up with detail. Here's the detail.

What 1Password actually does for agents today

As of October 2026, 1Password's agent-facing features are real but narrow:

None of this is a knock on 1Password — browser login is a hard, well-solved problem for them, and it's not what KeyValet is trying to solve.

Where the gap is

1PasswordKeyValet
What it's built forA human logging into a websiteAn agent calling an API
Approval granularityBrowser: per autofill. CLI: per account, up to 12hPer credential, per call, or per session — your choice
Does the agent ever see the key?In the browser flow, no. Via op read in an unlocked shell, or Environments' injected .env, yesNo — credential_http_request makes the call and returns only the response
Shows why / what in the approval promptOnly in the Claude browser beta; not logged to a queryable audit trail as far as we could confirmThe prompt shows what — the real request — rather than the agent's free-text reason; the stated purpose is recorded in the audit log with every use
Shows what request in the approval promptNoYes, in per-use mode — method, host, path, built from the actual outbound call
Issues short-lived tokens (OAuth refresh, JWT, GitHub App installation tokens, AWS STS)No — distributes long-lived static secrets and TOTP codesYes — OAuth refresh, GitHub App installation tokens, Google service-account tokens, signed JWTs, TOTP codes, AWS STS; the agent only ever holds the short-lived result
Blocks a secret from being written into a shell command or fileNoYes — hook adapters for Claude Code, Codex, Cursor, Grok Build and Devin CLI flag it before it lands
Where it runsAccount unlocks in a shared desktop session or terminalLocal macOS vault; per-MCP-session authorization

The pattern: 1Password's agent features are extensions of its core job — a human authenticating to open something. KeyValet's job starts after that: an agent, not a human, making repeated, automated calls, where "approve once, trust for 12 hours" is exactly the wrong shape, because the agent — not you — is the one making decisions about when to use the key next.

Where 1Password is ahead, honestly

Use both

If you're already a 1Password user, nothing here asks you to leave. A 1Password storage backend is planned: when it ships, you'll point a credential at an op://vault/item/field reference and KeyValet will read it live — rotate the value in 1Password and KeyValet picks up the change automatically, with no copy to keep in sync. Until then, 1Password keeps handling what it's good at (your logins, your team's shared vaults); KeyValet handles the part 1Password's own docs say is still on their roadmap — short-lived, purpose-scoped, per-call authorization for things that aren't a human typing a password into a browser.


Sources: 1Password for Claude press release · 1Password Agentic Autofill · 1Password Environments MCP · op CLI security model · 1Password SSH Agent security · 1Password Credential Broker · 1Password Activity Log

Found something on this page that's changed since we checked? Open an issue — 1Password ships new agent features fast and we'd rather be corrected than stale.