Agent Management
Agents are the identities that request credentials from Creddy. Each enrolled machine or service gets an agent identity with its own keypair and permissions.
Enrollment
The standard way to create an agent is through enrollment:
creddy init --name my-laptop --server https://creddy.example.comThis generates a keypair, sends an enrollment request to the server, and waits for admin approval (or auto-approval via policies).
Creating Agents (Server-Side)
Admins can pre-create agent identities on the server:
creddy agent create ci-runner-01 --can github:myorg/*:readThis creates an agent with pre-defined permissions. The agent still needs to enroll, but the enrollment will be auto-approved since the identity already exists.
Flags
| Flag | Description |
|---|---|
--can | Scopes this agent can request (repeatable) |
Examples
# CI agent with read-only GitHub access
creddy agent create gha-deploy --can github:myorg/*:read
# Dev machine with multiple backends
creddy agent create dev-marc \
--can github:* \
--can anthropic:* \
--can doppler:dev/*Listing Agents
View all registered agents:
creddy agent lsExample output:
NAME STATUS ROLE LAST SEEN SCOPES
dev-marc active admin 2026-03-07 18:30:00 github:*, anthropic:*
ci-runner-01 active operator 2026-03-07 18:28:15 github:myorg/*:read
gha-deploy pending operator - github:myorg/*:readRequesting Additional Permissions
Agents can request additional scopes after enrollment:
creddy request --can github:myorg/new-repo
creddy request --can github:myorg/private-repo:writeThe request goes to the admin queue for approval. Once approved, the agent can request credentials for the new scopes.
Checking Request Status
creddy statusShows pending permission requests along with current agent status.
Revoking Agents
Admins can revoke an agent’s access:
creddy admin revoke cli_abc123 --reason "Employee offboarding"Revoked agents cannot request new credentials. Existing credentials remain valid until they expire.
Unenrolling Agents
Remove an agent completely:
creddy unenroll cli_abc123This removes the agent from the server. The agent will need to re-enroll to regain access.
Auto-Unenroll Inactive Agents
Configure the server to automatically remove inactive agents:
sudo creddy install --agent-inactivity-days 30Agents that haven’t requested credentials in 30 days will be automatically unenrolled.
Agent Lifecycle
- Enrollment — Agent generates keypair, sends enrollment request
- Approval — Admin approves (or policy auto-approves)
- Active — Agent can request credentials within its allowed scopes
- Permission requests — Agent can ask for additional scopes
- Revocation — Admin revokes access (optional)
- Unenrollment — Agent is removed from server
Best Practices
- Use descriptive names —
ci-github-actionsis better thanrunner-01 - Scope permissions tightly — Give agents only what they need
- Use policies for automation — Don’t manually approve predictable enrollments
- Set agent lifetimes — Use
max_agent_lifetimein policies for temporary agents - Monitor with audit logs —
creddy auditshows all credential requests