vault CLI running in CloudThinker’s secure sandbox.
Requires a Vault instance reachable from CloudThinker over HTTPS — self-hosted (open-source or Enterprise), or HCP Vault Dedicated. Authenticate with a Vault token or an AppRole (Role ID + Secret ID).
Supported Platforms
| Platform | Support |
|---|---|
| Vault open-source | Self-hosted, recent releases |
| Vault Enterprise | Namespaces supported |
| HCP Vault Dedicated | Set namespace (default admin) |
Prerequisites
- A reachable Vault address — the sandbox connects to
VAULT_ADDRover the network, not your laptop. Use a public DNS name or HCP endpoint, notlocalhostor a private address the sandbox cannot route to. - Credentials — a Vault token, or an AppRole (
role_id+secret_id), backed by a policy that grants read access to the paths you want agents to query. - (Enterprise / HCP only) the namespace the secrets live in.
Setup
Choose the authentication method that fits your deployment. AppRole is recommended for production because thesecret_id can be rotated without replacing a long-lived token.
- Token
- AppRole
Add Connection in CloudThinker
Navigate to Connections → HashiCorp Vault and enter:
- VAULT_ADDR: your Vault URL including scheme and port, e.g.
https://vault.example.com:8200 - VAULT_NAMESPACE: leave blank for open-source Vault; set it for HCP (
admin) or Enterprise namespaces - VAULT_AUTH_METHOD: Token
- VAULT_TOKEN: the token from the previous step
vault token lookup, and an AppRole connection performs an auth/approle/login and confirms a client token is returned. A green Connected badge means the check passed. Tokens and secret IDs are redacted from any error message.
Connection Fields
| Field | Required | Notes |
|---|---|---|
| VAULT_ADDR | Yes | Full URL including scheme, e.g. https://vault.example.com:8200 |
| VAULT_NAMESPACE | No | HCP Vault Dedicated (admin) and Vault Enterprise namespace deployments only |
| VAULT_AUTH_METHOD | Yes | token or approle |
| VAULT_TOKEN | Token auth | Shown when the auth method is Token |
| VAULT_ROLE_ID | AppRole | Shown when the auth method is AppRole |
| VAULT_SECRET_ID | AppRole | Shown when the auth method is AppRole |
Agent Capabilities
What an agent can do is bounded by the policy attached to your token or AppRole — Vault’s default-deny always applies, so an agent can never exceed those permissions. On top of that, CloudThinker splits operations into two scopes: read-only actions run automatically, while any action that mutates Vault or issues a lease requires your approval. Read — auto-approved:- Read KV secrets — get and list KV v1 / v2 secret paths and values
- Inspect health & topology — check
sys/health, mounted secret engines, and auth methods - Audit tokens & policies — look up the current token’s policies and TTL, list and read policies, list audit devices
- Issue dynamic credentials — generate short-lived database (
database/creds/*) and cloud (aws/creds/*) credentials; these create a lease, so they are write-gated even though they read - Manage KV secrets — put, delete, and destroy secret versions
- Manage leases — revoke or renew leases
- Administer Vault — write policies, enable or disable secret engines, auth methods, and audit devices
Example Prompts
Troubleshooting
VAULT_ADDR not reachable from the sandbox
VAULT_ADDR not reachable from the sandbox
The
vault CLI runs inside CloudThinker’s sandbox, not on your machine. localhost, 127.0.0.1, and host.docker.internal resolve to the sandbox itself and fail with dial tcp ... no such host or connection refused. Point VAULT_ADDR at an address the sandbox can route to — a public DNS name or HCP Vault Dedicated. A Vault behind a firewall or VPN must be exposed through a public endpoint, an allowlisted egress, or a network bridge first.Wrong VAULT_ADDR scheme
Wrong VAULT_ADDR scheme
vault needs the full URL including scheme. vault.example.com:8200 (no scheme) causes a connection error. Use https://vault.example.com:8200, or http://... for a dev-mode server.403 permission denied
403 permission denied
The token or AppRole policy does not grant access to the requested path — not that the secret is missing. Check the policy with
vault token lookup and ensure it covers the paths the agent queries. For example, to read kv/data/production/* the policy needs capabilities = ["read", "list"] on that path.Namespace required on HCP / Enterprise
Namespace required on HCP / Enterprise
HCP Vault Dedicated and Enterprise multi-namespace deployments require
VAULT_NAMESPACE. For HCP the default is admin. If you see no handler for route or permission denied on HCP or Enterprise, confirm the namespace is set.AppRole secret_id expired
AppRole secret_id expired
A
secret_id has a TTL (secret_id_ttl). Once it expires, auth fails with invalid secret_id. Generate a new one, update VAULT_SECRET_ID, and reconnect:Vault is sealed
Vault is sealed
vault status shows Sealed: true and no operation will succeed. A Vault operator must unseal the cluster (vault operator unseal) before agents can read or write.Security Best Practices
- Least privilege — scope the policy to the minimum paths the agent needs; add
create/updateonly if you want write flows. - Prefer AppRole in production — rotate the
secret_idwithout replacing a long-lived token. - Short TTLs — keep token and
secret_idlifetimes tight and refresh them on a schedule. - Approval on writes — leave write operations gated so credential issuance and mutations always require a human.
Related
Oliver Agent
Security and compliance agent
Approval Controls
Gate write operations behind approval