Release notes

Changelog

What's new in LINCE. Grouped by date, themed by area. For the full per-commit history, see the git log.

Unreleased dashboard docs

Compact views, themes and persistent attention

A minimal sidebar for new installations, a statusline view with the same sidebar hidden initially, and a classic preset that preserves the familiar table and bars.

Views and Themes guide →

sandbox install docs dashboard

Seatbelt backend, config v2, shell agents & lince-lab

macOS moves to the native sandbox-exec (Seatbelt) backend; the external nono backend is deprecated. Configuration converges on a single versioned policy file plus a shipped agent registry, the dashboard gains shell agents, and a new lince-lab module provides disposable lab VMs.

Seatbelt replaces nono on macOS

The sandbox now ships a native macOS backend built on sandbox-exec (Seatbelt), which is part of the operating system itself: no extra install, no external dependencies. The legacy nono backend still works but is deprecated; agent-sandbox run --backend accepts seatbelt, and installers prefer Seatbelt with a deprecation notice when falling back to nono. See the migration guide.

Config v2: one policy file + agent registry

Configuration is converging on a single versioned policy file (~/.config/lince/lince.toml) plus a shipped agent registry. Get started with lince-config discover and lince-config apply <agent>+<level>+<provider>. Existing installs keep working unchanged. See the user migration guide and the developer migration guide.

Shell agents in the dashboard

The registry now includes plain shells (bash, zsh, fish) as first-class "agents", so you can keep an interactive shell pane next to your AI agents inside the same dashboard. The installer pre-selects your host's default shell.

lince-lab (experimental)

A new opt-in module that gives agents disposable Linux VMs (via Lima/KVM) instead of sharing the host: stronger isolation for risky workloads, broker on the host, agents in the lab. Linux-only in v1. See the lince-lab docs.

sandbox dashboard install docs

Three-level sandbox model across all agents

Every supported agent — Claude, Codex, Gemini, OpenCode, Pi — can now run at three discrete sandbox levels: paranoid, normal, and permissive. Plus ephemeral scratch homes for paranoid runs, an install-time multi-select to pick which variants you want, and a documented trust model with an OAuth bypass recipe.

Three sandbox levels per agent

paranoid locks the agent into a minimal, read-mostly environment with no credential access by default. normal is the recommended day-to-day profile. permissive drops the most rules for trusted tasks that need broad host access. Each agent ships with all three variants pre-wired (#57, LINCE-99 / 100 / 101 / 102).

Ephemeral scratch_home_dirs for paranoid

Paranoid runs now get a per-run scratch $HOME that is created fresh and discarded when the agent exits — nothing the agent writes leaks across invocations, and it can't read state from a previous run (LINCE-100 / 101 / 102 / 103).

Install-time multi-select for sandbox levels

The quickstart TUI now lets you pick which sandbox levels to install per agent, instead of forcing all three. Variants ship in a separate agents-template.toml so you can opt in to the ones you actually want (LINCE-104).

Trust model + OAuth bypass recipe

New documentation covers the trust model behind the three levels, an agent-aware error when paranoid is selected without credential rules, and a recipe for handling agents that need a one-time OAuth login despite running paranoid afterwards.