CLI Reference
Copy page
Complete reference for the Inkeep CLI commands
Overview
The Inkeep CLI is the primary tool for interacting with the Inkeep Agent Framework. It allows you to push agent configurations and interact with your multi-agent system.
Installation
Global Options
All commands support the following global options:
--version- Display CLI version--help- Display help for a command
Commands
inkeep init
Initialize a new Inkeep configuration file in your project.
Options:
--no-interactive- Skip interactive path selection
Example:
inkeep push
Primary use case: Push a project containing agent configurations to your server. This command deploys your entire multi-agent project, including all graphs, agents, and tools.
Options:
--project <project-path>- Specify project directory by path or ID (defaults to current directory or searches forinkeep.config.ts)--env <environment>- Load environment-specific credentials fromenvironments/<environment>.env.ts--agents-manage-api-url <url>- Override the management API URL from config--json- Generate project data as JSON file instead of pushing to server
Examples:
Environment Credentials:
The --env flag loads environment-specific credentials when pushing your project. This will look for files like environments/development.env.ts or environments/production.env.ts in your project directory and load the credential configurations defined there.
Example environment file:
Push behavior
When pushing, the CLI deploys your entire project (graphs, agents, tools) defined by your index.ts and configuration. After a successful push, it prints a short summary.
inkeep pull
Pull project configuration from the server and update all TypeScript files in your local project using LLM generation.
Options:
--project <project-path>- Specify project directory by path or ID (defaults to current directory or searches forinkeep.config.ts)--agents-manage-api-url <url>- Override the management API URL from config--env <environment>- Override tenant ID when using custom API URL--json- Save project data as JSON file instead of updating TypeScript files
How it Works:
The pull command discovers and updates all TypeScript files in your project based on the latest configuration from the server:
- File Discovery: Recursively finds all
.tsfiles in your project (excludingenvironments/andnode_modules/) - Smart Categorization: Categorizes files as index, graphs, agents, tools, or other files
- Context-Aware Updates: Updates each file with relevant context from the server:
- Graph files: Updated with specific graph data
- Agent files: Updated with specific agent configurations
- Tool files: Updated with specific tool definitions
- Other files: Updated with full project context
- LLM Generation: Uses AI to maintain code structure while updating with latest data
TypeScript Updates (Default)
By default, the pull command updates your existing TypeScript files using LLM generation:
- Context Preservation: Maintains your existing code structure and patterns
- Selective Updates: Only updates relevant parts based on server configuration changes
- File-Specific Context: Each file type receives appropriate context (graphs get graph data, agents get agent data, etc.)
Examples:
Model Configuration
The inkeep pull command currently uses a fixed model for LLM generation: anthropic/claude-sonnet-4-20250514.
TypeScript generation fails:
- Ensure your network connectivity and API endpoints are correct
- Check that your model provider credentials (if required by backend) are set up
- Try using
--jsonflag as a fallback to get the raw project data
Validation errors during pull:
- The generated TypeScript may have syntax errors or missing dependencies
- Check the generated file manually for obvious issues
- Try pulling as JSON first to verify the source data:
inkeep pull --json
inkeep chat
Start an interactive chat session with a graph.
Options:
--config-file-path <path>- Path to configuration file
Examples:
inkeep list-graphs
List all available graphs for the current tenant.
Options:
--config-file-path <path>- Path to configuration file
Examples:
inkeep dev
Start the Inkeep dashboard server.
Options:
--port <port>- Port to run the server on (default: 3000)--host <host>- Host to bind the server to (default: localhost)
Examples:
inkeep config
Manage Inkeep configuration values.
Subcommands:
inkeep config get [key]
Get configuration value(s).
Options:
--config-file-path <path>- Path to configuration file
Examples:
inkeep config set <key> <value>
Set a configuration value.
Options:
--config-file-path <path>- Path to configuration file
Examples:
inkeep config list
List all configuration values.
Options:
--config-file-path <path>- Path to configuration file
Configuration File
The CLI uses a configuration file (typically inkeep.config.ts) to store settings:
Configuration Priority
Effective resolution order:
- Command-line flags (highest)
- Environment variables (override config values)
inkeep.config.tsvalues
Environment Variables
The CLI and SDK respect the following environment variables:
INKEEP_AGENTS_MANAGE_API_URL- Management API base URLINKEEP_AGENTS_RUN_API_URL- Run API base URLINKEEP_ENV- Environment name for credentials loading duringinkeep pushINKEEP_AGENTS_MANAGE_API_BYPASS_SECRET- Optional bearer for Manage API (advanced)INKEEP_AGENTS_RUN_API_BYPASS_SECRET- Optional bearer for Run API (advanced)
Troubleshooting
Project Not Found:
- Ensure your
projectIdininkeep.config.tsmatches an existing project inkeep pushwill create the project automatically if it does not exist
Getting Help
For additional help with any command:
For issues or feature requests, visit: GitHub Issues