The eksec daemon - runs your AI coding agents and connects them to the eksec platform. eksecd bridges AI assistants (Claude Code, Cursor, Codex, OpenCode) with team collaboration platforms like Slack and Discord.
- Claude Code: Anthropic's official CLI tool for software engineering (default)
- Cursor: Popular AI-powered code editor integration
- Codex: OpenAI's coding assistant with model selection
- OpenCode: Open-source AI coding agent with multi-provider model support
eksecd runs on macOS, Linux, and Windows with native binaries for both Intel and ARM architectures.
brew install presmihaylov/taps/eksecdTo upgrade to the latest version:
brew upgrade presmihaylov/taps/eksecdYou will need to have Go 1.24 installed:
git clone https://github.com/presmihaylov/eksecd.git
cd eksecd
make buildThe compiled binary will be available at bin/eksecd.
- Git
- GitHub CLI (
gh) - Install here - eksec account (sign up here)
Important: eksecd will autonomously create branches, make changes, and create pull requests. To avoid conflicts with your main development workflow, it's strongly recommended to clone your repository separately for eksecd use.
Before running eksecd, ensure you have:
-
GitHub CLI Authentication: eksecd uses the GitHub CLI to create pull requests
# Login to GitHub gh auth login # Verify authentication gh auth status
-
Repository Access: If using SSH, ensure your key is loaded
ssh-add ~/.ssh/id_rsa
You can use eksecd with:
- Your personal GitHub account: eksecd will create PRs on your behalf
- Dedicated bot account: Create a separate GitHub account for eksecd to use (recommended for teams)
eksecd requires the following environment variables:
# Required: API key from your eksec organization
export EKSEC_API_KEY=your_api_key_hereYou can generate an API key from the eksec dashboard.
Once setup is complete, run eksecd in your repository directory.
By default, eksecd uses Claude Code as the AI assistant with acceptEdits permission mode.
eksecd [OPTIONS]
Options:
--agent=[claude|cursor|codex|opencode] AI assistant to use (default: claude)
--claude-bypass-permissions Use bypassPermissions for Claude/Codex (sandbox only)
--model=MODEL Model to use (agent-specific, see examples below)
-v, --version Show version information
-h, --help Show help message# Standard mode - requires approval for file edits
eksecd --agent claude
# Use specific model (options: sonnet, haiku, opus, or full model names like claude-sonnet-4-5-20250929)
eksecd --agent claude --model haiku
# Bypass permissions (Recommended in a secure sandbox environment only)
eksecd --agent claude --claude-bypass-permissions# Use Cursor with specific model (options: gpt-5, sonnet-4, sonnet-4-thinking)
eksecd --agent cursor --model sonnet-4# Standard mode - requires approval for file edits
eksecd --agent codex
# Bypass permissions (Recommended in a secure sandbox environment only)
eksecd --agent codex --claude-bypass-permissions
# Use specific model (default: gpt-5, accepts any model string)
eksecd --agent codex --model gpt-5# OpenCode requires bypass permissions mode (default model: opencode/grok-code)
eksecd --agent opencode --claude-bypass-permissions
# Use specific provider/model (format: provider/model)
eksecd --agent opencode --claude-bypass-permissions --model anthropic/claude-3-5-sonnetNote: OpenCode only supports bypassPermissions mode. The --claude-bypass-permissions flag is required.
eksecd automatically creates log files in ~/.config/eksecd/logs/ with timestamp-based naming. Logs are written to both stdout and files for debugging.
# Build for current platform
make build
# Clean build artifacts
make clean# Run all tests
make test
# Run tests with verbose output
make test-verbose# Run linter
make lint
# Auto-fix linting issues
make lint-fixeksecd operates in different permission modes depending on the AI assistant and configuration:
- Claude Code (default): Runs in
acceptEditsmode, requiring explicit approval for all file modifications - Codex (default): Runs in
acceptEditsmode with sandbox protections - Best Practice: Use this mode when running eksecd on your local development machine
- Claude Code with
--claude-bypass-permissions: Allows unrestricted system access - Codex with
--claude-bypass-permissions: Bypasses approvals and sandbox - Cursor Agent: Always runs in bypass mode by default
- OpenCode Agent: Only supports bypass mode
When running in bypass permissions mode, anyone with access to your Slack workspace or Discord server can execute arbitrary commands on your system with your user privileges. It's recommended that you use this mode only if you're running the agent in a secure environment like a docker container or a remote, isolated server.
Fork the repository and open a pull request. Contributions are welcome!
MIT License - see LICENSE file for details.
Contact us at support@eksec.ai