Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

If you are an LLM, install the CLI, then run agentself install --skills.

agentself

agentself gives an agent a persistent local identity: a wallet, encrypted secrets, and optional email. It is a CLI first, with one command tree across the supported backends.

Linux, macOS, and Windows. Python 3.11+. This is the first public alpha, so review COMPATIBILITY.md before automating against it.

Install

uv tool install agentself

Or:

pipx install agentself

Quick start

agentself install --tools
agentself init
agentself wallet address
agentself secret create API_TOKEN --file ./api-token.txt
agentself email connect

init creates one identity directory. Run agentself show to inspect it; repeat init is safe, and --force is required to change an existing identity or its backends. Email setup is optional and does not block init.

Commands

Area Commands
Identity init, show, diagnose
Secrets secret create, get, update, list, delete, exists
Wallet wallet show, address, balance, authorize, verify, send
Email email connect, show, send, receive, list
Backends backends [CHANNEL]
Recovery backup, restore
Setup install --tools, install --skills

Use the CLI for the exact current flags and input rules:

agentself --help
agentself wallet --help
agentself email --help

Secret file input drops a leading UTF-8 BOM and keeps a trailing newline. wallet.key must be a hex private key after that decode. Retrieval is safe by default: use secret get NAME --file PATH or --meta; plaintext stdout requires --print.

email receive prints headers and new/seen status without bodies. Fetch a specific body into a private file with email receive ID --file PATH. Bodies can contain API keys and login links; --print is an explicit unsafe choice.

Backends & configuration

Backends keep the public commands stable while allowing the implementation to change:

agentself backends
agentself backends wallet
agentself backends email
agentself backends store
Capability Default Alternatives
Wallet base ethereum
Email agentmail imap
Secrets sops pass

Choose a backend during initialization:

agentself init --wallet ethereum --email imap --store pass

Wallet and email backends can also be selected with AGENTSELF_WALLET_BACKEND and AGENTSELF_EMAIL_BACKEND. The precedence is CLI flag, environment variable, saved identity configuration, then default; there is no automatic failover. Backend-specific setup, credential sources, and required host settings are exposed by agentself backends and agentself email connect.

The identity directory is ~/.agentself by default. Set AGENTSELF_IDENTITY_DIR to isolate identities, for example:

AGENTSELF_IDENTITY_DIR=~/.agent-a agentself init
AGENTSELF_IDENTITY_DIR=~/.agent-b agentself init

Use AGENTSELF_EMAIL_ADDRESS and AGENTSELF_EMAIL_CREDENTIAL for transient email configuration when appropriate. Runtime environment credentials are not copied into the identity; complete email connect with its secure result file when the credential should be encrypted into the identity.

Automation and agents

The CLI is designed to be discovered from a shell. No MCP server or Python import is required:

agentself --help
agentself backends
agentself diagnose

For automation, prefer --json. Successful and failed commands emit one JSON object; human-readable errors stay on stderr. Exit codes are 0 for success, 1 for an error, 2 for a refusal, and 3 when an input, dependency, or resource is missing. agentself --json --version reports the package version and machine-output schema version. Consumers should ignore unknown JSON keys.

An optional bundled skill provides the same discovery guidance to compatible coding agents:

agentself install --skills
agentself install --skills -g

Security

  • Secret values are encrypted at rest by the configured store.
  • Secret listings return names, not values; plaintext needs --print, and wallet.key also requires --unsafe.
  • Email bodies stay off stdout unless email receive --print is explicit; prefer ID --file PATH.
  • Logs and structured errors redact secret values.
  • Missing credentials and host tools fail instead of silently switching backends.
  • Wallet backends are live; wallet send can move real assets.
  • Identity files are replaced atomically, and wallet-send retries do not create a second payment.

Back up an identity with agentself backup PATH. Report vulnerabilities through SECURITY.md.

Extending agentself

New backends implement the existing channel contract and do not add provider-specific CLI verbs. See CONTRIBUTING.md.

Development

git clone https://github.com/agentself/agentself
cd agentself
uv sync
uv run pytest
uv run ruff check .
uv run mypy agentself

See RELEASE.md for the small-project release checklist.

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentself-0.1.0a4.tar.gz (136.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentself-0.1.0a4-py3-none-any.whl (90.5 kB view details)

Uploaded Python 3

File details

Details for the file agentself-0.1.0a4.tar.gz.

File metadata

  • Download URL: agentself-0.1.0a4.tar.gz
  • Upload date:
  • Size: 136.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for agentself-0.1.0a4.tar.gz
Algorithm Hash digest
SHA256 e26fa74c51d916a0ed1016bf0d4c825c5f64d2ef5b1fb296e31f766f67b2401e
MD5 7b74ccce93f95bdb44284a85870ba6c9
BLAKE2b-256 f630af233272305fa8290c7e98070782c4b77d9bf7e5ffbabad2bc8237d7f568

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentself-0.1.0a4.tar.gz:

Publisher: publish.yml on agentself/agentself

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentself-0.1.0a4-py3-none-any.whl.

File metadata

  • Download URL: agentself-0.1.0a4-py3-none-any.whl
  • Upload date:
  • Size: 90.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for agentself-0.1.0a4-py3-none-any.whl
Algorithm Hash digest
SHA256 3350b55b2c69335953df2d7c2dd5b148cc5fa42c75115f80ed0dc2731d815d81
MD5 75a23e26c1e61ccd6823be152c0da14b
BLAKE2b-256 538281c63f29d6858166aa19388cb0179fd7166c4cac29a39c56eb508edf46c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentself-0.1.0a4-py3-none-any.whl:

Publisher: publish.yml on agentself/agentself

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0

2 files

This release

0.1.0a4 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page