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.