The aomi command from @aomi-labs/client. Chat with a backend from your terminal, simulate and sign transactions, manage sessions and secrets, with common task recipes and the full command reference.
The aomi command ships inside the @aomi-labs/client npm package. You use it to chat with an Aomi backend, keep a session across runs, inspect wallet requests, sign and submit transactions, and manage per session secrets.
This is the client CLI. It talks to a running Aomi backend. It is not the builder toolchain.If you are building and shipping an Agentic Application, you want the Rust SDK tools aomi-build, aomi-run, and aomi-git instead. See the builder toolchain for those. This page covers only the npm aomi client.
The package is published as @aomi-labs/client and registers one binary named aomi.
This opens a prompt. Anything that is not a slash command is sent to the agent as a message. The REPL needs a real terminal. In a non TTY environment (a pipe or CI job), use --prompt instead.Slash commands available inside the REPL:
Send one message and print the response, then exit.
aomi chat "swap 1 ETH for USDC"aomi chat "swap 1 ETH for USDC" --model claude-sonnet-4aomi chat "swap 1 ETH" --verbose
The message is a positional argument. --verbose (or -v) streams agent responses, tool calls, and events live. Without it, only the final agent message prints.
The CLI is not a long running process. Each command starts, runs, and exits. Session state lives locally between runs so the next command continues the same conversation.
Discover and switch backend models for the active session.
Command
What it does
aomi model list
List models available to the current backend
aomi model set <rig>
Set the active model for the current session
aomi model current
Show the current model
aomi model listaomi model set claude-sonnet-4aomi model current
aomi model set persists the selected model in local session state after the backend confirms the change. aomi chat --model ... applies the model before sending and updates that persisted state too.
There is no aomi app use or aomi app set command. Switch apps with the --app <name> flag on a command, the AOMI_APP environment variable, or /app <name> inside the REPL.
aomi chain listaomi chain set 137aomi chain current
For a single chain specific command, you can also pass --chain <id> on that command, or set AOMI_CHAIN_ID to share a chain across several commands. Run aomi chain list to see the chains your backend accepts.
There is no aomi secret set command and no top level --secret flag. Add secrets only through aomi secret add NAME=value. Each value must use the NAME=value shape, or the command exits with an error.
To start a clean secret context, combine with --new-session:
aomi secret add ALCHEMY_API_KEY=sk_live_123 --new-sessionaomi --prompt "simulate a swap on Base"
The CLI signs, submits, prints the hash, and notifies the backend.
The same flow handles EIP-712 typed data signatures. When the backend asks for a typed signature (for example a CoW Protocol order or a permit approval), it appears in aomi tx list with kind eip712_sign. The same aomi tx sign command handles both kinds.
These global flags work on the root command and on the subcommands. Flags take priority over environment variables.
Flag
Env variable
Description
--backend-url <url>
AOMI_BACKEND_URL
Backend base URL
--api-key <key>
AOMI_API_KEY
API key for non default apps
--app <name>
AOMI_APP
Active app
--model <rig>
AOMI_MODEL
Model to apply for the session
--new-session
n/a
Create a fresh active session for this command
--chain <id>
AOMI_CHAIN_ID
Active chain for chat and session context
--public-key <address>
AOMI_PUBLIC_KEY
Wallet address, so the agent knows your wallet
--private-key <hex>
PRIVATE_KEY
Hex signing key for aomi tx sign
--solana-private-key <key>
SOLANA_PRIVATE_KEY
Solana keypair for Solana sign requests
--rpc-url <url>
CHAIN_RPC_URL
RPC URL for transaction submission
--aa-provider <name>
AOMI_AA_PROVIDER
AA provider: alchemy or pimlico
--aa-mode <mode>
AOMI_AA_MODE
AA mode: 4337 or 7702
Root command only flags:
Flag
Description
-p, --prompt <prompt>
Send a single prompt and exit
--show-tool
Show tool output in prompt or REPL mode
--provider-key <provider:key>
Save a BYOK provider key before running
-v, --version
Print the installed CLI version
--verbose (-v) is available on aomi chat to stream tool calls and responses live.
If you pass both --public-key and --private-key, the CLI checks that the public key matches the address derived from the private key and exits if they disagree. If you pass only --private-key, it derives the public key for you.
Pass --public-key so the agent knows your address. This lets it build transactions and read your balances. The address is saved in state, so later commands in the same session do not need it again.
aomi chat "send 0 ETH to myself" \ --public-key 0x5D907BEa404e6F821d467314a9cA07663CF64c9B
The CLI is not a daemon. Each command starts, runs, and exits. Conversation history lives on the backend. Between runs, the CLI persists local state under AOMI_STATE_DIR, or ~/.aomi by default.
Field
Purpose
sessionId
Which conversation to continue
clientId
Stable client identity used for session secret handles
model
Last model successfully applied to the session
publicKey
Wallet address from --public-key
chainId
Active chain ID from --chain
secretHandles
Opaque handles returned for ingested secrets
pendingTxs
Unsigned transactions waiting for aomi tx sign
signedTxs
Completed transactions with hashes or signatures
Individual session files live under <state dir>/sessions/, with a pointer to the active session stored in the state root.
aomi chat "hello" # creates a session, saves sessionIdaomi chat "swap 1 ETH" # reuses the session, queues tx-1 on a wallet requestaomi tx sign tx-1 # signs tx-1, moves it to signedTxs, notifies the backendaomi tx list # shows all transactionsaomi session close # clears the active local session pointer
Sanity check a preamble or a new tool before you deploy. The CLI talks to your App as deployed on the backend, so deploy a change first, then check it here.
aomi --app mycoindex # open the REPLaomi --prompt "what is the price of ETH?" --app mycoindex # or one shot
Add --verbose to watch which tools the model calls and what they return. Run aomi session log to read the whole exchange back, tool results included.
When a chat asks the agent to act onchain, the transaction is queued locally. Simulate it before signing so no funds move until you are happy with the result. See Transaction flow for the full walkthrough.