Skip to content

Releases: uthree/picocode

0.8.0

Choose a tag to compare

@github-actions github-actions released this 20 Aug 13:49

Release Notes

An adversarial review of the whole workspace, and the fixes it turned up.
Most of this is security and data-safety work in picocode-core, so it
applies to the TUI and the GUI alike.

Upgrading

  • A project picocode.toml now has to be trusted before it can run
    commands.
    after_edit, [[mcp_servers]], [approval] allow_tools /
    allow_bash, [sandbox] and any base_url are held back on first use,
    with a notice naming what was skipped. Read the file, then /trust to
    allow them from the next start (/trust revoke takes it back). Everything
    else in the file applies as before, and the global
    ~/.config/picocode/config.toml is never gated. If a project of yours
    stops running its after_edit hook after upgrading, this is why.
  • web_fetch no longer reaches link-local or private addresses.
    Loopback still works, so local dev servers are unaffected; a fetch aimed
    at 169.254.169.254 or an internal 10.x service is refused.
  • In auto mode, an allow_bash rule no longer covers the always-ask
    commands.
    allow_bash = ["git"] still auto-runs git status
    everywhere, but git push reaches you when nobody else is answering.
  • Session stores are keyed by path and a digest of it. An existing store
    is renamed into place the first time you open the project — nothing to do.

Fixed — escaping the project

  • File tools confined paths by collapsing .. and comparing prefixes, and
    never looked at symlinks. A directory symlink inside the project — the
    kind a cloned repository can carry — let edit_file write and
    read_file / grep / list_files read anywhere on disk, with no
    approval prompt, since edit_file is auto-approved in edit mode.
  • An MCP server could register a tool named after a built-in. The approval
    hook classifies by name, so a server tool called read_file or grep
    replaced the built-in and ran with no prompt in any mode. Those names
    are refused at connect time now.
  • The always-ask list that bounds auto mode was entirely POSIX, but the bash
    tool runs cmd /C on Windows: del /s /q C:\…, format, runas,
    reg delete, Remove-Item -Recurse and iwr | iex all reach the user
    now. Allow/deny rules also match case-insensitively there, since cmd.exe
    does.

Fixed — losing data

  • /undo used the local filesystem directly, so on a remote workspace it
    reverted nothing and reported success anyway. It goes through the
    workspace backend now.
  • /undo also wrote the pre-turn contents back unconditionally, discarding
    anything you had edited by hand since. Those files are left alone and
    reported as skipped.
  • edit_file truncated the target before refilling it, so a crash or a
    dropped connection mid-write left an empty or half-written file. Both
    backends write a temp file and rename it over the target, carrying the
    original's permissions.
  • Two projects whose paths differ only in punctuation (~/work/a-b and
    ~/work/a/b) shared one session store and saw each other's
    conversations.

Fixed — everything else

  • web_fetch buffered whole responses before checking the size cap, and
    followed redirects without re-checking where they led.
  • Switching search provider in /config kept the previous provider's
    base_url, sending BRAVE_API_KEY to a searxng host.
  • Fetched pages, search results and tool output are marked as data rather
    than instructions, and the system prompt says so once for all of them.
  • GUI: dialogs are modal — clicking the dimmed backdrop no longer reaches
    the sidebar behind it. A slow model-list reply from a provider you
    switched away from no longer refills the menu. Deleting a session right
    after a turn no longer loses the race with its own autosave.
  • TUI: /remote connects off the event loop, so the UI stays responsive
    while ssh works (and gives up on an unreachable host after 10s). The
    add-model form no longer panics when a second fetch returns a shorter
    list.
  • list_files emitted mixed path separators on Windows.
  • Attachments are read with a size cap instead of being loaded whole, and
    the clipboard scratch directory and ssh control socket use random,
    owner-only temp paths that are cleaned up on exit.

Internal

  • CI ran 21 of 168 tests: bare cargo test follows default-members,
    which is the TUI alone. It now covers the workspace on Linux and Windows,
    with the GUI on macOS. 23 regression tests came with the fixes above.

picocode-gui 0.8.0

Install picocode-gui 0.8.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uthree/picocode/releases/download/v0.8.0/picocode-gui-installer.sh | sh

Download picocode-gui 0.8.0

File Platform Checksum
picocode-gui-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
picocode-gui-x86_64-apple-darwin.tar.xz Intel macOS checksum

picocode-tui 0.8.0

Install picocode-tui 0.8.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uthree/picocode/releases/download/v0.8.0/picocode-tui-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/uthree/picocode/releases/download/v0.8.0/picocode-tui-installer.ps1 | iex"

Download picocode-tui 0.8.0

File Platform Checksum
picocode-tui-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
picocode-tui-x86_64-apple-darwin.tar.xz Intel macOS checksum
picocode-tui-x86_64-pc-windows-msvc.zip x64 Windows checksum
picocode-tui-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 02 Aug 12:03

picocode-gui 0.7.1

Install picocode-gui 0.7.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uthree/picocode/releases/download/v0.7.1/picocode-gui-installer.sh | sh

Download picocode-gui 0.7.1

File Platform Checksum
picocode-gui-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
picocode-gui-x86_64-apple-darwin.tar.xz Intel macOS checksum

picocode-tui 0.7.1

Install picocode-tui 0.7.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uthree/picocode/releases/download/v0.7.1/picocode-tui-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/uthree/picocode/releases/download/v0.7.1/picocode-tui-installer.ps1 | iex"

Download picocode-tui 0.7.1

File Platform Checksum
picocode-tui-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
picocode-tui-x86_64-apple-darwin.tar.xz Intel macOS checksum
picocode-tui-x86_64-pc-windows-msvc.zip x64 Windows checksum
picocode-tui-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 02 Aug 05:43

picocode-gui 0.7.0

Install picocode-gui 0.7.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uthree/picocode/releases/download/v0.7.0/picocode-gui-installer.sh | sh

Download picocode-gui 0.7.0

File Platform Checksum
picocode-gui-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
picocode-gui-x86_64-apple-darwin.tar.xz Intel macOS checksum

picocode-tui 0.7.0

Install picocode-tui 0.7.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uthree/picocode/releases/download/v0.7.0/picocode-tui-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/uthree/picocode/releases/download/v0.7.0/picocode-tui-installer.ps1 | iex"

Download picocode-tui 0.7.0

File Platform Checksum
picocode-tui-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
picocode-tui-x86_64-apple-darwin.tar.xz Intel macOS checksum
picocode-tui-x86_64-pc-windows-msvc.zip x64 Windows checksum
picocode-tui-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 23:23

picocode-gui 0.6.0

Install picocode-gui 0.6.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uthree/picocode/releases/download/v0.6.0/picocode-gui-installer.sh | sh

Download picocode-gui 0.6.0

File Platform Checksum
picocode-gui-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
picocode-gui-x86_64-apple-darwin.tar.xz Intel macOS checksum

picocode-tui 0.6.0

Install picocode-tui 0.6.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uthree/picocode/releases/download/v0.6.0/picocode-tui-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/uthree/picocode/releases/download/v0.6.0/picocode-tui-installer.ps1 | iex"

Download picocode-tui 0.6.0

File Platform Checksum
picocode-tui-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
picocode-tui-x86_64-apple-darwin.tar.xz Intel macOS checksum
picocode-tui-x86_64-pc-windows-msvc.zip x64 Windows checksum
picocode-tui-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 25 Jul 13:31

What's new in 0.5.0

Remote workspaces became usable without a restart or a hand-written config.

  • The host's own picocode.toml applies. A remote workspace merges the
    host root's config and instruction files over your local one — approval
    rules, after_edit, the system prompt and its presets, the timeouts and
    output limits. [[models]], [[mcp_servers]], [sandbox] and [search]
    always stay local, so opening a remote workspace never makes your machine
    run something it was not already configured to run.
  • /remote switches workspaces at runtime. It opens a picker listing the
    local project and the configured [[remotes]]; /remote <name|host:/path>
    and /remote local switch directly. The worker respawns on the new backend
    and the new workspace starts a fresh conversation and session log.
  • "+ add a remote…" dialog in both front ends: an ssh destination and a
    path on it, with the Host aliases from ~/.ssh/config listed to pick.
    It connects (and checks the path is a directory) before switching, then
    prints a paste-ready [[remotes]] snippet for picocode.toml.
  • GUI workspace menu. The workdir line opens a menu — local project,
    configured remotes, add a remote, choose a folder — and shows host:path
    while a remote workspace is open. Picking a local folder while remote no
    longer keeps the SSH backend (fixed).

Authentication remains entirely your own ssh setup (keys, agent,
~/.ssh/config, ProxyJump); picocode never handles credentials.


picocode-gui 0.5.0

Install picocode-gui 0.5.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uthree/picocode/releases/download/v0.5.0/picocode-gui-installer.sh | sh

Download picocode-gui 0.5.0

File Platform Checksum
picocode-gui-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
picocode-gui-x86_64-apple-darwin.tar.xz Intel macOS checksum

picocode-tui 0.5.0

Install picocode-tui 0.5.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uthree/picocode/releases/download/v0.5.0/picocode-tui-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/uthree/picocode/releases/download/v0.5.0/picocode-tui-installer.ps1 | iex"

Download picocode-tui 0.5.0

File Platform Checksum
picocode-tui-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
picocode-tui-x86_64-apple-darwin.tar.xz Intel macOS checksum
picocode-tui-x86_64-pc-windows-msvc.zip x64 Windows checksum
picocode-tui-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 23 Jul 18:23

What's new in 0.4.0

  • Remote workspaces over SSH — picocode --remote host:/path (or a
    [[remotes]] name) opens a project on another machine: every tool
    operates on the host (read/edit/list/grep over the connection, bash on
    the host). Authentication is entirely your ssh setup (~/.ssh/config,
    keys, agent, ProxyJump) — picocode never handles credentials. The
    conversation log stays on your local machine. Unix hosts only.
  • Edit the system prompt at runtime — /prompt opens an editor
    seeded with the current prompt (a dialog in the GUI, the input box in
    the TUI); applies for the session and prints a picocode.toml snippet
    to persist it. /prompt reset restores the built-in.
  • Named prompt presets — [[prompts]] in picocode.toml, switched
    with /prompt <name> (Tab-completed; unique substrings resolve).
  • Opt-in MCP — connect Model Context Protocol servers (stdio or
    streamable HTTP) via [[mcp_servers]]; their tools go through the same
    approval flow as the built-ins. Off by default.
  • Opt-in OS sandbox — [sandbox] runs model-initiated bash inside the
    OS sandbox (macOS sandbox-exec, Linux Landlock): writes confined to the
    project root and temp, network optionally blocked — a guard rail for
    bypass mode.
  • Generation speed — the token counter shows tok/s (rolling window)
    while the model streams; the counter now shows only the active phase.

picocode-gui 0.4.0

Install picocode-gui 0.4.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uthree/picocode/releases/download/v0.4.0/picocode-gui-installer.sh | sh

Download picocode-gui 0.4.0

File Platform Checksum
picocode-gui-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
picocode-gui-x86_64-apple-darwin.tar.xz Intel macOS checksum

picocode-tui 0.4.0

Install picocode-tui 0.4.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uthree/picocode/releases/download/v0.4.0/picocode-tui-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/uthree/picocode/releases/download/v0.4.0/picocode-tui-installer.ps1 | iex"

Download picocode-tui 0.4.0

File Platform Checksum
picocode-tui-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
picocode-tui-x86_64-apple-darwin.tar.xz Intel macOS checksum
picocode-tui-x86_64-pc-windows-msvc.zip x64 Windows checksum
picocode-tui-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 22 Jul 18:28

What's new in 0.3.1

  • The native GUI ships prebuilt for macOS (Apple Silicon / Intel) with its
    own installer — no Rust toolchain needed:

    curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uthree/picocode/releases/download/v0.3.1/picocode-gui-installer.sh | sh

    Launch it with picocode-gui. It is a bare binary (no .app bundle yet);
    installed via curl it carries no quarantine attribute, so Gatekeeper does
    not object. Feature changes are the same as v0.3.0.

picocode-gui 0.3.1

Install picocode-gui 0.3.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uthree/picocode/releases/download/v0.3.1/picocode-gui-installer.sh | sh

Download picocode-gui 0.3.1

File Platform Checksum
picocode-gui-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
picocode-gui-x86_64-apple-darwin.tar.xz Intel macOS checksum

picocode-tui 0.3.1

Install picocode-tui 0.3.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uthree/picocode/releases/download/v0.3.1/picocode-tui-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/uthree/picocode/releases/download/v0.3.1/picocode-tui-installer.ps1 | iex"

Download picocode-tui 0.3.1

File Platform Checksum
picocode-tui-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
picocode-tui-x86_64-apple-darwin.tar.xz Intel macOS checksum
picocode-tui-x86_64-pc-windows-msvc.zip x64 Windows checksum
picocode-tui-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 22 Jul 17:59

What's new in 0.3.0

  • Clipboard paste of files and images — Ctrl+V in the TUI and ⌘V in the
    GUI stage copied files (Finder/Explorer) and clipboard images (screenshots)
    as attachments; plain text pastes as usual.
  • Color-coded context breakdown — /status (alias /usage) now shows a
    segmented colored bar + legend of what fills the context window: system
    prompt, project instructions, user/assistant messages, tool activity,
    attachments, and provider-side overhead.
  • Unified slash commands — one shared parser for both front ends: same
    aliases (/q, /settings, /usage, /exit), same completions, and typo'd
    commands error instead of being sent to the model. The GUI gained
    /attach <path> and /jobs kill <id>.
  • Background-job management — /jobs lists long-running shell commands
    moved to the background; kill one with /jobs kill <id> (TUI) or the kill
    button in the GUI's background menu.
  • Model picker improvements — search filter in the dialog, an
    "+ add a provider / model…" form for ad-hoc endpoints, and /model <partial>
    auto-resolves unique matches.
  • Tab completion for command arguments — model names, session ids, file
    paths for /attach, and job ids for /jobs kill.

Install picocode-tui 0.3.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uthree/picocode/releases/download/v0.3.0/picocode-tui-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/uthree/picocode/releases/download/v0.3.0/picocode-tui-installer.ps1 | iex"

Download picocode-tui 0.3.0

File Platform Checksum
picocode-tui-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
picocode-tui-x86_64-apple-darwin.tar.xz Intel macOS checksum
picocode-tui-x86_64-pc-windows-msvc.zip x64 Windows checksum
picocode-tui-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 22 Jul 16:24

Install picocode-tui 0.2.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uthree/picocode/releases/download/v0.2.0/picocode-tui-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/uthree/picocode/releases/download/v0.2.0/picocode-tui-installer.ps1 | iex"

Download picocode-tui 0.2.0

File Platform Checksum
picocode-tui-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
picocode-tui-x86_64-apple-darwin.tar.xz Intel macOS checksum
picocode-tui-x86_64-pc-windows-msvc.zip x64 Windows checksum
picocode-tui-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 14:24

Install picocode-tui 0.1.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/uthree/picocode/releases/download/v0.1.0/picocode-tui-installer.sh | sh

Download picocode-tui 0.1.0

File Platform Checksum
picocode-tui-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
picocode-tui-x86_64-apple-darwin.tar.xz Intel macOS checksum
picocode-tui-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum