.env. SEAOTTER follows that path: keys you save here live in Google Secret Manager. Hermes loads them at startup. They are not written to the agent’s persistent .env.
Dashboard (recommended)
- Open the agent → Secrets.
- Choose Add secret (or Replace on an existing key).
- Optionally pick a provider preset (
OPENAI_API_KEY,ANTHROPIC_API_KEY, and others) or type a custom key name. - Paste the value once. Save.
After you save
Running agents briefly restart so Hermes picks up the new environment. The dashboard may be unavailable for a short window (usually under two minutes). Wait for the applying / warming banner to clear before opening Hermes. SEAOTTER stores the value in Google Secret Manager. After that restart, Hermes loads the key as an environment variable so tools and integrations can use it. Prefer Secrets over Config and over pasting keys into chat.Config is not for secrets
The Config tab is for non-secret settings (model names, allowlists, and similar). Keys that look like secrets (API_KEY, TOKEN, PASSWORD, …) are blocked there. Store them under Secrets instead.
From chat (MCP)
With a SEAOTTER access key (so_…) connected from seaotter.dev/connect, you can call upsert_secret / delete_secret. Prefer the dashboard Secrets UI for highly sensitive material—values pasted into chat may remain in that chat’s history.
Related
- Connect
- Provisioning lifecycle
- Keep keys out of chat (blog)
- Hermes Secrets — recommended secret-source path
Are keys stored in the agent .env?
Are keys stored in the agent .env?
No. SEAOTTER follows Hermes’ external-secret-manager path: values live in Google Secret Manager. Hermes loads them as environment variables at startup. They are not written to the persistent
.env.Can I see the value again after save?
Can I see the value again after save?
No. The list shows key names and status only. Replace to set a new value; delete removes the key from the agent.

