AI Agents
JJHub integrates Claude-powered AI agents as first-class citizens. Agents run in sandboxed GKE environments, can read and modify your repository, triage issues, review landing requests, and ship code - all orchestrated through the same TypeScript workflow system that powers CI.BYOK (Bring Your Own Keys)
JJHub uses a BYOK model for AI - you provide your own Anthropic API keys. There’s no platform-level AI metering or markup. Configure your key via repository secrets:Agent CLI Commands
Start an Agent Session
List Sessions
View a Session
--messages flag includes the full conversation history.
Continue a Conversation
Agents in Workflows
Agents are just another step type in TypeScript workflows:Sandboxed Execution
Agent sessions run in isolated GKE Sandbox (gVisor) pods:- Kernel-level isolation - gVisor intercepts system calls, preventing container escapes
- Ephemeral - each session gets a fresh pod with a snapshot of the repository
- Network controlled - outbound network is disabled by default, configurable per workflow
- Resource bounded - CPU and memory limits enforced by Kubernetes
Agent Capabilities
Agents can:- Read and write files in the repository
- Execute shell commands (in the sandbox)
- Create and manage issues
- Review landing requests
- Search code
- Access external APIs (when network is enabled)
Streaming Output
Agent responses stream in real-time via SSE (Server-Sent Events). The CLI displays streaming output as it arrives. When using--json, each SSE event is emitted as a JSON line.
Session IDs
Agent sessions are identified byses_ prefixed IDs (e.g., ses_abc123def). Each session is associated with a repository and maintains its own jj workspace for isolated operations.