BerriAI

Litellm Agent Runtime — Design skill for Claude Code

Design community

Coding-agent runtime that runs inside per-session VMs provisioned by LiteLLM proxy.

How to install Litellm Agent Runtime

This entry records only its repository, not the path inside it, so there is no exact command to give. Open BerriAI/litellm-agent-runtime and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Litellm Agent Runtime does

Coding-agent runtime that runs inside per-session VMs provisioned by LiteLLM proxy. Generic by design — customization happens via .cursor/ harness, Settings UI, or hydrate payload.

Alternatives in Design

  • CloudCLI — 8,400+ Free open-source web/mobile UI for Claude Code, Cursor CLI, and Codex 8.7k ★
  • Poco Claw — A more beautiful and easier-to-use alternative to OpenClaw 1.3k ★
  • Drawbridge — Design editor for Claude Code and Cursor 960 ★

README

litellm-agent-runtime

Long-running daemon that lives inside a per-Session VM and drives the coding-agent loop for the LiteLLM Cloud Agents product (Cursor SDK on LiteLLM). Tracks Linear epic [LIT-2879](https://linear.app/litellm-ai/issue/LIT-2879).

Status

Wave Scope Status
Wave 1 Scaffold + tools (read/edit/shell/grep/glob/todo) + git clone + gh pr create + e2e single-run-creates-PR test in this PR
Wave 2 Cursor harness (.cursor/skills, .cursor/hooks.json, .cursor/mcp.json); warm-pool SIGUSR1 hydrate handler; multi-run within a Session follow-up
Wave 3 Validations 5–11 (skills, hooks, MCP, per-team secrets, network allowlist, daemon restart resilience, warm mode) follow-up

3-layer extension model (LIT-2879 architecture)

The daemon ships **generic**. Customer-specific behavior is layered on top:

  1. Per-repo (Layer 1) — .cursor/skills/, .cursor/hooks.json, .cursor/mcp.json in the cloned repo. Auto-detected at session start.
  2. Per-team (Layer 2) — LiteLLM_AgentVMConfig + LiteLLM_AgentSecret in the proxy DB, written from the Settings UI. Surfaced via the hydrate payload at session start.
  3. Per-session (Layer 3) — repos, env_vars, agent_config from the SDK call to agent.createSession(). Surfaced via the hydrate payload too.

If you find yourself adding code like `if (sessionId.startsWith("shin"))`, **stop**. Push the customization into one of those 3 layers instead.

Architecture

┌─────────────────────────────────────────────────────────────┐
│  EC2 VM (per Session)                                       │
│                                                             │
│  systemd unit: litellm-agent-runtime.service                │
│       │                                                     │
│       ▼                                                     │
│  ┌──────────────────────────────────────────────────────┐  │
│  │  daemon (Node.js)