> ## Documentation Index
> Fetch the complete documentation index at: https://docs.murmur.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# murmur credentials

> Report which credentials an agent would receive on its next provisioning, what its VM was last prepared with, and what its gateway requests used.

Reports an [agent's](/concepts/agents) credentials. The report is metadata only: no secret value is ever returned, and running the command records no credential use.

The report has three parts:

* **Candidates**: for every name the agent receives, each credential that could supply it and which one the next provisioning would select. This is a prediction, recomputed on each call.
* **Last profile seal**: the credentials read when the agent's VM profile was last prepared.
* **Gateway uses**: the credentials served to the agent's gateway requests in its latest run.

Comparing the first part with the other two shows whether the agent is running on what it would be given now.

## Synopsis

```bash theme={null}
murmur credentials [flags] [slug]
```

On a VM, the slug is optional. If you omit it, the command reports on the current agent.

## Arguments

| Name | Type | Required | Description |
| - | - | - | - |
| `slug` | string | on laptop | The agent's slug, a child path, or an absolute path. Optional on VMs (defaults to self). |
| `--json` | bool | no | Print the full `ListAgentSecretsResponse` as JSON. Default: `false`. |
| `--workspace` | string | no | Workspace name. Overrides the value from `murmur.yaml`. |

Requires `agent.read` on the agent.

## Output

The report opens with a caption:

* `owner: <name>`: the developer account or service profile the agent's credentials belong to.
* `<N> of <M> names would be supplied`: how many of the agent's names the next provisioning finds a value for.
* `next refresh: ...`: whether the next provisioning changes anything. It reads `no change` when every selected credential is already in the last profile seal. Otherwise it counts credentials replacing a sealed version, credentials not in the seal, and credentials with no stored version to compare.

### Candidates

| Column | Meaning |
| - | - |
| `NAME` | The environment variable or credential field. Printed on the first row of each name only. The selected candidate comes first. |
| `SUPPLIED BY` | The source: `spawn override`, `spawn override (encrypted)`, `workspace mount`, `service profile`, or `developer credential`, with the owner and credential-set label in parentheses. |
| `VERSION` | The stored version, for example `v3`. `—` when none was recorded. |
| `WRITTEN` | When that version was written, UTC. |
| `STATUS` | `selected`, `shadowed`, or `excluded`, followed by the reason, any other names the same credential supplies, and how it compares with the last profile seal. |

Names the agent receives are listed first, then names nothing supplies, each group alphabetical. With no candidates, the section reads `candidates: none — no credential would reach this agent`.

### Last profile seal

A heading `last profile seal: spawn <id> run <N>, prepared <time>`, then a table with `NAME`, `SECRET`, `VERSION`, `USES`, `FIRST USED`, and `LAST USED`. Sealed credentials that match no selected candidate are listed on a final line. With no seal, the section reads `last profile seal: none — no profile has been prepared for this agent`.

### Gateway uses

A table with `PURPOSE`, `SECRET`, `VERSION`, `USES`, `FIRST USED`, and `LAST USED`, one row per stored version served for a purpose. With none, the section reads `gateway uses: none`.

## Examples

### Check an agent's credentials

```bash theme={null}
murmur credentials fix-auth
```

```
owner: alice
2 of 3 names would be supplied
next refresh: 1 replacing a sealed version

candidates: what the agent's next provisioning would select
NAME               SUPPLIED BY                   VERSION  WRITTEN               STATUS
ANTHROPIC_API_KEY  developer credential (alice)  v3       2026-09-20T10:00:00Z  selected — replaces v2 from the last profile seal
NPM_TOKEN          workspace mount               v1       2026-08-02T09:30:00Z  selected
                   developer credential (alice)  v2       2026-09-01T14:12:00Z  shadowed
SENTRY_DSN         developer credential (alice)  —        —                     excluded

last profile seal: spawn 0192a3f4-7c1e-7b2d-9e8f-3a4b5c6d7e8f run 3, prepared 2026-09-18T08:00:02Z
NAME               SECRET             VERSION  USES  FIRST USED            LAST USED
ANTHROPIC_API_KEY  ANTHROPIC_API_KEY  v2       1     2026-09-18T08:00:02Z  2026-09-18T08:00:02Z
NPM_TOKEN          NPM_TOKEN          v1       1     2026-09-18T08:00:02Z  2026-09-18T08:00:02Z

gateway uses: none
```

Here the next provisioning would deliver `ANTHROPIC_API_KEY` v3 in place of the sealed v2, and `NPM_TOKEN` from the workspace mount shadows the developer's own copy.

### Raw response for scripting

```bash theme={null}
murmur credentials fix-auth --json
```

## Errors

| Code | Meaning | What to do |
| - | - | - |
| `NOT_FOUND` | No agent with that slug exists. | Check the slug with [`murmur ls`](/cli/ls). |
| `PERMISSION_DENIED` | You lack `agent.read` on the agent. | Ask for a role that grants `agent.read`. See [authorization](/security/authorization). |
| `UNAUTHENTICATED` | Identity token is missing or expired. | Run [`murmur login`](/cli/login). |

## Related

* [Profiles and secrets](/concepts/secrets): how credentials reach agents
* [`murmur rekey`](/cli/rekey): propagate your current credentials to a running agent
* [`murmur secret mounts`](/cli/secret-mounts): list your own secret mounts
* [`murmur setup subscription`](/cli/setup-subscription): manage subscription credentials
