Skip to content

Limboo v1.18.0-beta.2

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Aug 00:46
· 25 commits to main since this release
Immutable release. Only release title and notes can be modified.

Limboo 1.18.0-beta.2 (2026-08-12)

Changes since v1.18.0-beta.1.

The first beta. Two bugs that made Cursor sessions unusable are fixed, agents can
now run through a swappable harness layer instead of one hardcoded integration,
and Settings opens as a workspace tab. This build is published for testing ahead
of a stable release — read the warning at the top of these notes before
installing it over a working copy.

Fixed

  • Cursor sessions denied every tool call. The hook runner read the event name
    from a single payload key that the CLI does not always send. With no event name
    it could not identify what was being asked, so it failed closed — which is the
    correct posture, but it meant every read, search, shell command and edit was
    refused, and nothing on screen said why. The event name now travels in the
    runner's own arguments, where Limboo writes it, with five payload spellings as
    fallbacks, and a genuine failure now names the missing key in the timeline
    instead of denying silently.
  • Four more ways a Cursor run could stall. The permission helper could boot as
    a GUI process instead of a script and then hang for the full ten-minute hook
    timeout on every single tool call; nothing timed out while it waited for input;
    a successful approval could be truncated on its way out and be read as a
    refusal; and the sandbox denied the helper access to its own communication
    socket. Each is fixed, and each failure now reports what happened.
  • "Prompt me for everything" meant "deny everything". Tightening the approval
    policy withdrew the rule that let Cursor read files at all. Because the only way
    to ask for permission on that path is the hook bridge, a session with hooks
    unavailable was left unable to read or to ask. Reads and inspection commands
    now keep their floor regardless of the policy; the permission gate still runs
    on top of it.
  • A Cursor session could stream as Claude Code. The model was checked for
    character shape rather than for which provider serves it, and every Cursor
    model id passes that check — so a mis-routed model was handed to the Claude
    integration and ran there, with no error anywhere. Routing now has an explicit
    "unknown" answer, dispatch is exhaustive, and a model nothing claims fails by
    name instead of quietly running somewhere.
  • Commit-message generation always used Claude. A Cursor-only user pressing
    the button started a Claude run and, with Claude not installed, was told to sign
    in to a product they were not using. It now follows the agent you selected, and
    the button is no longer disabled for Cursor users.
  • Searching Settings missed several controls. Some settings were never
    registered in the search index, so typing their name found nothing. Fixed for
    the Agent and Runtime categories, with a check that fails the build if it
    happens again.
  • Absolute paths inside your project were treated as escapes. Cursor's CLI
    writes full paths by default, and a full path to a file inside your own worktree
    was classified as leaving it — so ordinary reads were refused during planning.

Added

  • Agents can run through a harness layer. Limboo now drives agents through
    Vercel AI SDK 7's harness abstraction as well as its own integrations, so a new
    agent runtime becomes an adapter rather than a new code path. Pi is available;
    Claude Code runs through it behind an opt-in switch. Everything above the
    adapter — the conversation, permissions, memory, search, the work graph, the
    runtime panel — is unchanged, because they all sit on one seam.
  • A sandbox that runs on your own worktree. Every shipped sandbox for that
    abstraction is either a cloud service or a private filesystem, and neither
    fits: your repository must not leave the machine, and the agent has to edit the
    actual files that git, the diff viewer and checkpoints are watching. Limboo has
    its own, rooted at the session's worktree, with the same containment rules the
    rest of the app enforces — nothing outside the worktree, and never the app's own
    database, settings or secrets.
  • Settings opens as a workspace tab. An icon beside the close button promotes
    the dialog into an editor tab, the way a diff opens. Both surfaces render the
    same panels, so nothing drifts. The tab has no Cancel: settings apply as you
    change them, exactly as they already did.
  • An update channel you can choose. Settings › Updates now offers Stable or
    Beta. A beta is never downloaded in the background — you are shown its release
    notes and decide.

Changed

  • Settings panels are flat rows. The Agent and MCP categories wrapped groups
    of settings in bordered panels while every other category used plain labelled
    rows, which made them look like a different application. The boxes are gone.
    Every input, button and select now uses one corner radius.
  • The Agent panel is reorganised. Providers became Harnesses and now reads as
    one list instead of two hand-built cards. Connection and reliability moved to
    Runtime, where the rest of the supervision settings live. A section that
    contained no settings at all was removed, and the remainder is ordered by the
    decision you are making: which agent, which model, what it may do, what
    contains it.
  • The model hint stopped being wrong. It named a default the app had not used
    for several versions, because the text was typed by hand next to the value it
    described. It is now derived from that value.

Security

  • Built-in tools on the harness path are gated by Limboo. The harness
    abstraction has two separate approval surfaces, and the one Limboo had wired
    covers only tools the host supplies — built-in file writes and shell commands
    are governed by a different setting that defaults to allowing everything. On
    that path an agent could have written files and run commands without Limboo's
    permission gate. Every built-in tool call now suspends the turn and asks, using
    the same authority, the same risk labels, the same dialogs and the same audit
    trail as every other agent.
  • A harness that cannot ask for permission is refused. Rather than run it with
    weaker enforcement, Limboo declines to start it and says so. This is not
    theoretical: the Codex adapter reports that it cannot request approval for its
    shell tool, so it is registered as unavailable with the reason shown rather than
    offered and then failing.
  • The harness setup step asks first. Preparing a harness for its first run
    downloads its agent CLI, which is the only time Limboo reaches the network
    outside talking to your agent and fetching contributor avatars. The exact
    commands are read from the adapter and shown to you for approval once, and the
    approval is tied to those commands — if a later version changes them, you are
    asked again. Without approval the run does not start.
  • Credentials are passed through, never stored. A harness receives an API key
    only if your own environment already has one, from an explicitly named list.
    Nothing is written to settings, accepted over the app's internal channels, put
    on a command line, or logged. A gap in log redaction that could have printed
    those variables is closed.
  • Reads on the harness path cannot be gated, and the setting says so. The
    underlying runtime allows built-in file reads unconditionally, so
    "auto-approve reads" has no effect there. Rather than leave a control that looks
    like it works, the setting explains the limitation.

Known limitations

  • Beta builds are not released builds. Features may change or be removed
    before release. Settings and session data move forward but not back, so a build
    made after this one may not read data this one wrote. Keep a stable install for
    work you cannot repeat.
  • The harness path is off by default. Claude Code and Cursor continue to run
    through their own integrations. Turn the harness on in Settings › Agent ›
    Harnesses if you want to try it; you will be asked to approve its setup step
    first.
  • A harness conversation does not resume. Each message starts a fresh
    conversation with the underlying runtime. The alternative failed on every second
    message, so this is deliberate until the resume format is handled properly.
  • Codex is unavailable. Its adapter cannot ask for permission before running
    shell commands. It is listed with that reason rather than hidden.

Installing

Platform File Notes
Windows x64 / arm64 Limboo-Setup-*-<arch>.exe If SmartScreen warns, choose More info → Run anyway.
macOS Apple silicon / Intel Limboo-*-arm64.dmg / Limboo-*-x64.dmg If Gatekeeper blocks it, right-click → Open, or xattr -dr com.apple.quarantine /Applications/Limboo.app.
Debian / Ubuntu limboo-*-<arch>.deb
Fedora / RHEL / openSUSE limboo-*-<arch>.rpm
Arch / Manjaro limboo-*-<arch>.pacman sudo pacman -U <file>
Any Linux limboo-*-<arch>.AppImage chmod +x first. On Ubuntu 24.04+ install libfuse2t64, or it fails with error loading libfuse.so.2.
Any Linux (no installer) limboo-*-<arch>.tar.gz Extract and run ./Limboo.

Once installed, Limboo updates itself from this feed — including the deb, rpm
and pacman builds, which apply updates through your package manager.

Verifying this release

Each artifact is listed in SHA256SUMS. Verify with sha256sum -c SHA256SUMS,
and verify build provenance with gh attestation verify <file> --repo limboo-ai/limboo.

3 commit(s) in this release.