Release · CLI · Agents

VibePod CLI 0.25: Cline, Junie, Cursor and Warp

0.25.0 brings four new agents: Cline, Junie, Cursor and Warp, which makes nineteen for vp run. vp import copies an agent setup you already have into a profile, directories can be mounted at their host paths, and fixes cover macOS, rootless Podman and native Windows. Board automation with vp board work is included for testing.

2026-11-13 · Release · CLI · Agents

Four new agents

vp run now starts nineteen agents. Each of the four new ones runs from an image that pins one release and switches off the agent's self-update, and keeps its state under ~/.config/vibepod/agents/<agent>/, so a login outlives the container.

Cline

vp run cline, or vp cl, starts Cline CLI, the terminal edition of the Cline coding agent. It shares its agent core with the VS Code extension: plan and act modes, MCP servers, rules, skills and checkpoints. vp run cline -- auth opens the setup for a Cline account, a ChatGPT subscription or your own API key, and the choice is kept in the config mount. Tasks always run in act mode, because a task left in plan mode would never edit a file.

Cline CLI started by vp run cline in Act mode with auto-approve enabled.
Cline in Act mode with auto-approve enabled.

Junie

vp run junie, or vp ju, starts Junie, the LLM-agnostic coding agent from JetBrains. Log in with your JetBrains account from the TUI, or set JUNIE_API_KEY, which also works for tasks, where there is no TUI. With your own keys, Junie talks to Anthropic, OpenAI, Google, Grok, OpenRouter or a LiteLLM proxy. Junie's bundled Java runtime ignores SSL_CERT_FILE, so the image imports the proxy's CA into the runtime's trust store and Junie's HTTPS calls pass through vibepod-proxy.

Junie started by vp run junie in Brave mode.
Junie in Brave mode, which --ikwid turns on.

Cursor

vp run cursor, or vp cu, starts Cursor CLI, the terminal agent from the makers of the Cursor editor. Models come through your Cursor account. Log in once with vp run cursor -e NO_OPEN_BROWSER=1 -- login and open the printed URL in the browser on your host, or set CURSOR_API_KEY. A detached task cannot answer Cursor's workspace-trust prompt, so task mode marks the workspace as trusted; command approvals stay in place unless you add --ikwid. Cursor talks to its backend over long-lived HTTP/2 streams, which vibepod-proxy 0.6.0 passes through instead of buffering, so this release requires that proxy version.

Cursor CLI started by vp run cursor, waiting for the first login.
Cursor CLI on its first start, waiting for the login.

Warp

vp run warp, or vp w, starts the Warp Agent CLI, which runs the agent from the Warp terminal app in any terminal. On the first start it shows a verification link and a code; open the link in the browser on your host, or set WARP_API_KEY to skip the login. Warp keeps its login only in a system keyring, which a container does not have, so the image starts a private one with its files on the config mount, and the login is remembered across runs. Warp is interactive only: it takes no prompt argument and has no ACP server, so vp task create warp and --acp are not available.

Warp Agent CLI started by vp run warp, signed in, with the workspace's AGENTS.md and a skill loaded.
Warp signed in, with the workspace's AGENTS.md and a skill loaded.

Tasks, editors and skills

Cline, Junie and Cursor also run as background tasks, and inside your editor with --acp, which now covers fourteen agents:

vp task create cline "fix the failing test" --ikwid
vp task create junie "summarize the README"
vp task create cursor "summarize the README"

Skills installed with vp skills are mounted for all four. Each of them brings its own model setup, so VibePod's llm settings and --provider do not apply to them.

Bring the setup you already have

vp import copies an agent's configuration from your home directory into a VibePod profile, mapped to the paths the agent reads inside its container: settings, custom models, MCP servers, hooks, skills and memory files. Credentials and session history stay behind unless you opt in:

vp import                      # scan your home directory for installed agents
vp import claude --dry-run     # resolve the plan, write nothing
vp import claude --to-profile work --create-profile
vp import claude --with-credentials

With --from-profile, the same command copies one profile's agent configuration into another.

Mounts at host paths

A single absolute path is now enough to mount a directory at the same place in the container: vp run claude -v /srv/datasets. For tools and configs that refer to absolute project paths, --workspace-system-path mounts the workspace at its host path as well as at /workspace. On SELinux-enforcing hosts such as Fedora, VibePod prints a hint when its bind mounts keep a label that containers may not access, and selinux_relabel: true opts in to relabeling the mounts VibePod owns. Relabeling is permanent, so read the SELinux notes first.

Smaller additions

Fixes

In testing: board automation

Board automation and its review workers ship with 0.25.0, but they are still in testing, and commands and options may still change.

vp board work connects VibePod to a vibepod-board project. It claims the next planned task whose dependencies are done, checks the task's branch out in a clone next to your repository, and runs the agent headless in that clone with the task as its prompt. An optional verify command, such as the test suite, has to pass before the task moves to Review:

vp config allow-dir ~/src/app       # once per repository
vp board work VP --agent claude \
  --repo ~/src/app \
  --verify "python -m pytest -q" \
  --ikwid

Every run adds a report to its task: the agent's summary, its commits, the verify output and the duration. An agent that finds a task unclear asks instead of guessing: the task is blocked with the question on its card, and the next run gets the answer in its prompt. With --poll 2m the worker waits for new tasks instead of exiting. The board token is never passed to the agent's container.

Review workers and the pull request

Started with --mode review, a worker takes the tasks in Review instead and decides whether each one needs rework or is ready for its pull request. Several reviewers, with different agents, can review the same task. Feedback reaches the implementing agent in its next prompt, and the rework continues on the same branch:

vp board work VP --agent codex --repo ~/src/app --poll 2m
vp board work VP --agent claude --repo ~/src/app --poll 2m --mode review

Workers commit on local branches. Once a task has the approvals it needs, the approving worker pushes the commit it approved to the task's branch on GitHub, and Open PR on the board is prefilled with the title and description the implementing agent suggested. A push is never forced, uses the git credentials of the user the worker runs as, and can be turned off with --no-push.

Upgrading

python -m pip install --upgrade vibepod
docker pull vibepod/proxy:latest

Proxied runs need vibepod-proxy 0.6.0 or newer. VibePod pulls the proxy image only when it is missing, so pull it once if you already have an older one, with docker or podman. If a proxy is still running, stop it with vp proxy stop first. Mistral's agent is now called vibe; vp run devstral, existing agents.devstral configuration and VP_IMAGE_DEVSTRAL keep working. Session and task databases are migrated on first use.

Release details

Related links