auth

auth is a skill for Claude Code, Codex from felipefontoura/bento. It costs 113 tokens per session (916 once invoked), scanned A, original, MIT.

A skill for registering an AI provider’s API key on a remote VPS running bento, then copying the configuration to its managed stacks. A VPS is a remotely hosted server, and an API key is a secret used to access a service.

In plain words
What is it for?
Adding Anthropic, OpenAI, OpenRouter, z.ai, Gemini, or compatible-provider API keys to a bento server through SSH. It is not for signing in to consumer subscriptions such as Claude Pro or ChatGPT Plus.
Why use it?
It avoids manually configuring the same provider credential across multiple bento stacks and distinguishes API keys from paid-app subscription sign-ins.

Skill for Claude CodeCodex

Part of the bento plugin — 13 skills shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/felipefontoura/bento/auth
Any agent
npx skills add felipefontoura/bento --skill auth
Clone the repo
git clone --depth 1 https://github.com/felipefontoura/bento

Made for: Claude Code, Codex.

Or install bento, the plugin that ships this one along with the rest of its 13 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for auth

README.md
[![agentmods](https://agentmods.dev/badge/skills/felipefontoura/bento/auth.svg)](https://agentmods.dev/skills/felipefontoura/bento/auth)
Your own site
<a href="https://agentmods.dev/skills/felipefontoura/bento/auth"><img src="https://agentmods.dev/badge/skills/felipefontoura/bento/auth.svg" alt="Measured on agentmods" height="20"></a>
Per session 113 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 916 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00113 $0.00916
Opus 5 $0.00056 $0.00458
Sonnet 5 $0.00023 $0.00183
Haiku 4.5 $0.00011 $0.00092

Measured 5d ago against content hash 472a7d896e89, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

auth scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/bento/skills/auth/SKILL.md · 81 lines

How it starts

The opening of the file, as written. The whole thing — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are handling a secret (an API key) on the user's behalf. Never echo the key into any output, log line, or command you display — keep it out of narration and out of BENTO_VERBOSE traces. All artifacts stay in English.

When to invoke

  • "register my OpenAI / Anthropic / OpenRouter / z.ai / Gemini key on <host>"
  • "add a provider key to my bento server"
  • "wire an OpenAI-compatible endpoint into bento"

This is API KEYS only. If the user wants to use a subscription (Claude Pro/Max, ChatGPT Plus), do NOT use bento-auth — point them at the app's native sign-in (e.g. openclaw models auth login --provider openai, or paperclip's bundled claude /login). bento-auth's old subscription snapshots went stale in days and were removed.

Inputs

Input Source Notes
VPS host + SSH user user message; default user root reachable via SSH
provider user message must be a bento-auth catalog id (see below)
API key user message — collect privately, NEVER display it back

Discover the valid provider ids from the host itself (don't hardcode):

ssh "$user@$host" "bash /root/.local/share/bento/scripts/bento-auth --help"

Register — non-interactive over SSH

bento-auth reads the key from stdin (read -rs) and honours BENTO_AUTH_ASSUME_YES=1 to skip the "store anyway?" prompt on a failed validation. So you can pipe the key in without a TTY. Read the key into a shell variable WITHOUT printing it, then:

# Collect the key into $KEY by whatever private means; do not echo it.
printf '%s\n' "$KEY" | ssh "$user@$host" \
  "BENTO_AUTH_ASSUME_YES=1 bash /root/.local/share/bento/scripts/bento-auth <provider>"
unset KEY

For an exotic OpenAI-compatible endpoint not in the catalog:

printf '%s\n' "$KEY" | ssh "$user@$host" \
  "BENTO_AUTH_ASSUME_YES=1 bash /root/.local/share/bento/scripts/bento-auth openai-compat <label> <base_url>"

bento-auth validates the key (where the catalog defines a validate URL), persists it to state.providers.<ENV>, and runs auth_propagate_state_providers to docker service update --env-add it onto every running BENTO_MANAGED stack. Future deploys inherit it automatically.

Read the full file on GitHub · 81 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 81 lines · 0 tokens per session scan A 472a7d896e89

Subscribe to this mod's changes

auth is a skill published in the GitHub repository felipefontoura/bento (20 stars, last pushed 1mo ago), licensed MIT. It adds 113 tokens to every session and 916 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

superplane-changelog

When generating a SuperPlane changelog from merged commits. Use for "what's new" summaries with new integrations, new components/triggers, improvements, security updates, and bug fixes. Output is user-focused markdown in tmp/.

superplanehq/superplane · 50 tokens

review-agents-md

Audit Dograh AGENTS.md files for drift against the live repo and for bad scope boundaries between parent and child docs. Use when the user asks to review existing AGENTS files, identify stale guidance, decide whether a subtree needs its own AGENTS.md, or update the AGENTS.md hierarchy under the repo root, api/, or ui/.

dograh-hq/dograh · 82 tokens

post-build-flow

Handles workflow verification and setup after build-workflow succeeds, or when the message contains workflow-verification-follow-up or workflow-setup-required. Load after direct builds, when verificationReadiness requires action, or on orchestrator verify/setup follow-up turns.

n8n-io/n8n · 53 tokens

n8n:content-design

Product content designer for UI copy. Use when writing, reviewing, or auditing user-facing text: button labels, error messages, tooltips, empty states, modal copy, placeholder text, confirmation dialogs, onboarding flows, or i18n strings. Also use when the user says /copy, /content, or /ux-copy.

n8n-io/n8n · 73 tokens

n8n:human-like-code-review

Reviews a GitHub pull request like a thoughtful human reviewer and writes the feedback to a markdown file. Prioritizes context, architecture fit, solution complexity, bugs, security edge cases, and missing tests. Use when given a PR URL to review, or when the user says /human-like-code-review.

n8n-io/n8n · 70 tokens

clean-code

Clean-code engineering standards for writing, refactoring, and reviewing code in any programming language. Use this whenever the user asks to write clean code, follow clean-code principles, refactor for clarity, improve naming, reduce complexity or duplication, separate concerns, tighten error handling, work…

superplanehq/superplane · 93 tokens