Use Claude Code / CodeX CLI to perform multiple tasks in parallel with a Codex-style UI.
A code agent task management system that provides parallel execution of AI-powered coding tasks. Users can run multiple Claude Code agents simultaneously through a Codex-style web interface, with support for different agents for comparison and evaluation.
- 🤖 Multi-Agent Support: Run Claude Code and other AI agents in parallel
- 🔄 Parallel Task Management: Execute multiple coding tasks simultaneously
- 🌐 Codex-Style Web UI: Clean interface for managing agent tasks
- 🔍 Agent Comparison: Compare outputs from different AI models
- 🐳 Containerized Execution: Secure sandboxed environment for each task
- 🔗 Git Integration: Automatic repository cloning, commits, and PR creation
- Selfhost: Deploy you rown parallel code agent platform.
- Frontend: Next.js with TypeScript and TailwindCSS
- Backend: Python Flask API with Docker orchestration
- Agents: Claude Code (Anthropic) with extensible support for other models
- Task Management: Parallel execution system based on container
The system implements comprehensive security measures to ensure safe execution of AI agents:
- Non-root Execution: All containers run as UID 1000 (non-root user)
- No Privileged Access: Containers run without
--privilegedflag or host PID namespace - Capability Restrictions: No dangerous Linux capabilities granted (no
CAP_SYS_ADMIN, etc.) - Privilege Escalation Prevention:
no-new-privileges=truesecurity option enforced - Sandboxed Environment: Proper namespace isolation between container and host
- Volume Permissions: Workspace volumes mounted with proper ownership (1000:1000)
- Read-only System Paths: Containers cannot modify
/etc,/usr, or other system directories - Isolated Workspaces: Each task gets its own temporary workspace with restricted permissions
The project includes security test scripts:
test-container-security.sh: Verifies container isolation and restrictionstest-ai-functionality.sh: Ensures agents work correctly with security measures- Unit tests in
server/tests/test_container_security.py
-
Setup
git clone <this-repo> cd async-code ./build.sh
-
Configure
- Add your Anthropic API key to
server/.env - Get a GitHub Personal Access Token with repo permissions
- Add your Anthropic API key to
-
Run
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
- Setup GitHub Token: Enter your GitHub token in the web interface
- Configure Repository: Specify target repository and branch
- Select Agent: Choose your preferred AI agent (Claude Code, etc.)
- Submit Tasks: Start multiple coding tasks in parallel
- Compare Results: Review and compare outputs from different agents
- Create PRs: Generate pull requests from successful tasks
See Environment Variables Documentation for complete configuration details.
# server/.env (Required)
SUPABASE_URL=your_supabase_url
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
JWT_SECRET=your-very-secure-secret-key-minimum-32-chars
# API Keys (Optional)
ANTHROPIC_API_KEY=your_anthropic_api_key_here# Run all services
docker-compose up
# Development mode
cd async-code-web && npm run dev # Frontend
cd server && python main.py # BackendThe project includes a comprehensive test user system for automated testing:
- Test User Management: Automated test user creation with JWT authentication
- Local Git Repositories: Tests use local repos in
/tmp/test-repos/to avoid external dependencies - Isolated Test Environment: Complete separation from production data
- Automated Cleanup: Test data automatically cleaned up after 1 hour
# Run tests with test profile
docker-compose -f docker-compose.yml -f docker-compose.test.yml up
# Run Playwright E2E tests
cd async-code-web && npm run test:e2e
# Run backend unit tests
cd server && pytestSee LICENSE file for details.

