CLI
The everruns CLI provides a command-line interface for managing agents, sessions, and conversations. It’s useful for scripting, automation, and quick interactions without using the web UI.
Installation
Section titled “Installation”Install from the Git repository using Cargo:
cargo install --git https://github.com/everruns/everruns everruns-cliOr clone and build locally:
git clone https://github.com/everruns/everruns.gitcd everrunscargo install --path crates/cliVerify the installation:
everruns --versionConfiguration
Section titled “Configuration”The CLI connects to the Everruns API. By default, it uses the hosted API at https://app.everruns.com/api.
For local development, configure the API URL:
# Via command-line flageverruns --api-url http://localhost:9000 agents list
# Via environment variableexport EVERRUNS_API_URL=http://localhost:9000everruns agents listDefault: https://app.everruns.com/api
Commands
Section titled “Commands”Agents
Section titled “Agents”Manage agent configurations.
Create Agent
Section titled “Create Agent”# Inline creationeverruns agents create \ --name "my-agent" \ --system-prompt "You are a helpful assistant." \ --tag production
# From YAML fileeverruns agents create -f agent.yaml
# From JSON fileeverruns agents create -f agent.json
# From Markdown with front mattereverruns agents create -f agent.mdYAML file format (agent.yaml):
name: "research-assistant"description: "Helps with research tasks"system_prompt: | You are a helpful research assistant. Always cite your sources.capabilities: - ref: current_time config: {} - ref: web_fetch config: {}tags: - research - assistantFor backward compatibility, you can also use the shorthand format:
capabilities: - current_time - web_fetchThe full format with ref and config allows per-agent capability configuration:
capabilities: - ref: filesystem config: allowed_paths: ["/home/user/projects"] - ref: web_browser config: {}Markdown file format (agent.md):
---name: "research-assistant"description: "Helps with research tasks"capabilities: - ref: current_time config: {} - ref: web_fetch config: {}tags: - research---You are a helpful research assistant.
Always cite your sources and provide accurate information.The markdown body becomes the system prompt. Both the full format (ref + config) and shorthand (just capability ID) are supported in markdown files.
List Agents
Section titled “List Agents”everruns agents listOutput:
ID NAME STATUSagt_550e8400e29b41d4a716446655440000 research-bot activeagt_660e8400e29b41d4a716446655440001 joke-bot activeGet Agent
Section titled “Get Agent”everruns agents get agt_xxxDelete Agent
Section titled “Delete Agent”everruns agents delete agt_xxxCapabilities
Section titled “Capabilities”List available capabilities that can be assigned to agents.
# List available capabilitieseverruns capabilities
# List all including coming sooneverruns capabilities --status all
# List only coming sooneverruns capabilities --status coming_soonOutput:
ID NAME STATUS CATEGORYcurrent_time Current Time available Utilitiesweb_fetch Web Fetch available Networksession_file_system File System available File Operationsstateless_todo_list Task Management available ProductivitySessions
Section titled “Sessions”Manage conversation sessions for an agent.
Create Session
Section titled “Create Session”everruns sessions create --agent agt_xxx
# With titleeverruns sessions create --agent agt_xxx --title "Debug session"List Sessions
Section titled “List Sessions”everruns sessions listGet Session
Section titled “Get Session”everruns sessions get ses_xxxSend a message and receive the agent’s response.
everruns chat "Tell me a joke!" --session ses_xxxOutput:
You: Tell me a joke!
Agent: Why don't scientists trust atoms? Because they make up everything!Options:
--timeout <seconds>- Max wait time for response (default: 300)--no-stream- Send message and exit without waiting for response
Output Formats
Section titled “Output Formats”The CLI supports multiple output formats for scripting:
# Default text formateverruns agents list
# JSON formateverruns agents list --output json
# YAML formateverruns agents list --output yamlQuiet Mode
Section titled “Quiet Mode”Suppress non-essential output:
# Only output the created agent IDeverruns agents create -f agent.yaml --quiet# Output: agt_550e8400e29b41d4a716446655440000Examples
Section titled “Examples”Complete Workflow
Section titled “Complete Workflow”# 1. Create an agent and extract ID with jqAGENT_ID=$(everruns agents create \ --name "assistant" \ --system-prompt "You are a helpful assistant." \ -o json | jq -r '.id')
# 2. Create a sessionSESSION_ID=$(everruns sessions create --agent $AGENT_ID -o json | jq -r '.id')
# 3. Chat with the agenteverruns chat "What time is it?" --session $SESSION_IDUsing Agent Files
Section titled “Using Agent Files”# Create agent.mdcat > agent.md << 'EOF'---name: "code-reviewer"description: "Reviews code and suggests improvements"capabilities: - ref: current_time config: {} - ref: filesystem config: allowed_paths: ["/workspace"]tags: - development---You are an expert code reviewer.
When reviewing code:1. Check for bugs and edge cases2. Suggest performance improvements3. Ensure code follows best practicesEOF
# Create the agenteverruns agents create -f agent.mdJSON Output for Scripting
Section titled “JSON Output for Scripting”# Get agent details as JSON and extract with jqeverruns agents get agt_xxx --output json | jq '.tags'
# List agents and filtereverruns agents list --output json | jq '.data[] | select(.status == "active")'