zepctl is a command-line interface for administering Zep projects. It provides full access to Zep, enabling you to manage users, threads, Context Graphs, and data operations from the terminal.
Download the appropriate binary for your platform from the releases page.
macOS users: If you see “zepctl cannot be opened because the developer cannot be verified”, run:
Location: ~/.zepctl/config.yaml
API keys are stored in the system keychain (macOS Keychain, Windows Credential Manager, or Linux Secret Service) rather than in the config file. For CI/CD environments without keychain access, use the ZEP_API_KEY environment variable.
Manage zepctl configuration including profiles and defaults.
Get project information.
Manage users in your Zep project.
Deleting a user removes all associated threads, graph data, and knowledge. This supports RTBF (Right to Be Forgotten) compliance.
Manage conversation threads.
When adding messages via --file or --stdin, use this JSON format:
Manage knowledge graphs.
Property filters allow filtering by node/edge attributes:
Supported operators: =, ==, <>, !=, >, <, >=, <=, IS NULL, IS NOT NULL
Values are automatically parsed as boolean (true/false), integer, float, or string.
Date filters allow filtering by temporal fields:
Supported fields: created_at, valid_at, invalid_at, expired_at
Manage graph nodes.
Manage graph edges (facts/relationships).
Manage graph episodes (source data).
Monitor async operations (batch imports, cloning, etc.).
Manage graph schema definitions.
Manage user summary instructions.
All commands support multiple output formats via the --output flag:
Enable tab completion for commands, flags, and arguments.
Requires the bash-completion package.
Start a new shell session after installing completions for changes to take effect.