Labradorite

com.greenart7c3.labradorite
by greenart7c3

Drive Claude Code, omp, pi and Codex on your computer from your phone. End-to-end encrypted over Marmot.

Drive Claude Code, omp, pi and Codex on your computer from your phone. - Start, resume and watch agent sessions in any project under the configured roots - See thinking, text and tool calls stream live with diffs, images and background jobs - Approve or deny tool calls and answer agent questions, also from the notification - Switch model, effort and permission mode, run slash commands, interrupt and queue follow-ups - Git from the phone: status, diffs, commit, branches, pull and push, stash and log - Browse project files read-only Traffic goes through Marmot: MLS end-to-end encrypted groups on ordinary Nostr relays. No open ports, VPN or cloud relay service. agentd runs on the computer (Linux x86_64) and Labradorite is the Android app.

First release: Oct 30, 2026, 12 total releases.

Most recent release: Nov 4, 2026.

Website Repo

Appears in 1 app stack.

0 sats / 0 zaps received in the past year.

Sats Received

Underlying data available via MCP: app_zaps, app_releases.

Zap Count

Underlying data available via MCP: app_zaps, app_releases.

Releases

  • Nov 4, 2026 0.5.10
    Several computers per phone, desktop sessions in full, and better Codex support. - Android: pair with several computers and switch between them on Home. - Sessions started on the desktop show their thinking, tool calls, tool output and diffs on the phone, both when resumed and while followed live, not just the text. History now covers the last 10 prompts instead of the last 40 messages. - Codex: model selection, usage limits, images and diffs, plus queue fixes. - Android: search field in the model selector; harness chips in the new session sheet; tap the Settings QR to show it full screen at full brightness. - Network changes are picked up immediately: agentd listens to netlink instead of polling, and the app reacts to connectivity changes. agentd also starts cleanly while offline. - agentd: fixed retained-epoch storage and replayed invites; a session's mode is persisted when only the mode changes. - Android: crash reports send only the developer's gift wrap.
  • Nov 3, 2026 0.5.9
    Sessions survive agentd restarts, and git worktrees from the phone. - With [herdr](https://herdr.dev) installed, agentd runs Claude Code, omp, pi and Codex in panes of its own herdr server (`herdr-agentd.service`), so restarting or crashing agentd no longer kills a running turn: the new agentd reattaches, pending approvals can still be answered and queued prompts are kept. `runner = "direct"` under `[agentd]` turns it off. - The install scripts write `herdr-agentd.service` when herdr is on the PATH. - Git worktrees: create, pick, list and remove worktrees from the phone. - Queued Claude prompts can be cancelled before they run. - Sessions are sorted by real activity; restart housekeeping events no longer bump them to the top. - Android: the background service runs as a `specialUse` foreground service and stops cleanly instead of crashing when the system refuses `startForeground`.
  • Nov 1, 2026 0.5.8
    Tool timers stop at their limit. - A running tool's timer never counts past its timeout; when agentd hangs or restarts, the clock stops at the limit instead of ticking forever. - Tools and thinking blocks left open are closed when the turn ends or agentd restarts (restart marks them failed).
  • Nov 1, 2026 0.5.7
    Readable plan approvals, crash reports, and sturdier connections. - Plan approvals show a preview card and a full-screen plan reader with pinned actions. - Crash reports are saved on crash, offered on next launch and sent as NIP-17 gift wraps. - Relays: health tracking drops dead relays from subscriptions; connections rebuild on network switches; relay lists (10002, 10051) are published when creating or restoring an identity. - Sessions are sorted by latest activity. - agentd: harnesses start in the session cwd without `cd` prefixes; omp/pi extension UI support (command source, badges, widgets, editor text, title, notify level, dialog dismiss). Upgrade agentd and restart it.
  • Oct 31, 2026 0.5.6
    The Files tab shows git status. - Files and folders are labelled tracked, modified, staged, untracked, ignored or conflict; ignored entries are dimmed. Upgrade agentd and restart it.
  • Oct 31, 2026 0.5.5
    A redesigned diff viewer, highlighted code in the Files tab, and plan approvals that stick. - Diffs are parsed per file with line numbers, word-level changes, A/M/D/R badges and a full-screen git viewer with collapsible file headers. - The Files tab highlights code for common languages, with a line-number gutter and a wrap toggle. - agentd: approving a plan can go straight into auto mode, and the chosen mode is kept after Claude resets it. Upgrade agentd and restart it.
  • Oct 31, 2026 0.5.4
    Relay status in settings, and a fix for the omp usage readout. - Settings shows the connection status of each relay, and the app boots on the saved relays. - agentd: fixed the omp usage request and reading `[section]` keys from its config file. Upgrade agentd and restart it.
  • Oct 31, 2026 0.5.3
    Fixes sessions driven from the phone replying to themselves. - agentd took its own final answers, which it also posts as chat for White Noise, as new prompts when the relays echoed them back, so a phone-driven session kept answering itself until it was interrupted. agentd now ignores its own messages. Upgrade agentd and restart it.
  • Oct 31, 2026 0.5.2
    Messages sent while Claude Code is working steer the running turn, as in the terminal. - A message sent while Claude Code is busy goes to Claude right away instead of waiting for the turn to end. Claude reads it as soon as the current tool call finishes and works it into the same turn; if the turn ends first, it answers it as the next turn. The message shows "Queued" until Claude has read it. omp and pi already worked this way; Codex still runs queued messages after the turn. - These messages can no longer be cancelled once sent, so the Cancel button only shows for Codex sessions. If Claude exits before reading one, the app says so and asks to send it again. - Catching up a session's history no longer waits on a slow relay: each relay gets 15 seconds, and live updates still arrive from it.
  • Oct 31, 2026 0.5.1
    Pairing works without restarting agentd, and is faster. - `agentd pair` and `unpair` apply to the running daemon again: it re-reads the allowlist from the config whenever the file changes. An invite that arrived before the phone was paired is accepted as soon as `agentd pair` adds it; before, it was dropped and the app stayed on "Connecting to computer" until agentd restarted. - agentd ignores group messages from phones that are not (or no longer) paired, so `unpair` cuts a phone off. - `agentd show` prints the nprofile as a QR code to scan from the app's pairing screen. - Pairing and onboarding no longer wait for every relay to acknowledge relay lists and KeyPackages: the first relay that accepts is enough, and the rest get them in the background. agentd starts listening for invites before it publishes its relay lists. - Allowlist entries written as hex pubkeys no longer crash agentd at startup. - The Rust migration tooling (`cutover.sh`, the interop probe) is removed.
  • Oct 31, 2026 0.5.0
    agentd is now a Kotlin program on Quartz + marmot-kmp, the app drops its native Marmot library, and the release installs without Java or Gradle. - agentd was rewritten in Kotlin on the same Marmot stack as the app (marmot-kmp 2.2.1 + Quartz 2.7.3); the Rust daemon is gone. It starts with a new host identity: pair the phone again by pasting the nprofile from `agentd show`. Sessions from the Rust daemon do not carry over. Coming from the Rust agentd, `kotlin/agentd/cutover.sh` switches over in place and keeps the old state, binary and unit as `-rust` backups. - The release tarball bundles a trimmed Java 21 runtime and an `install.sh` that links `~/.local/bin/agentd` and writes the systemd user unit, so a computer needs neither Java nor Gradle: unpack, run `install.sh`, `systemctl --user enable --now agentd`. - The pairing screen has a new first step, "Install agentd on your computer", with a link to the releases page and the install commands to copy. - agentd publishes its NIP-65 (10002), inbox (10050) and KeyPackage (10051) relay lists at startup and on relay changes. Without the inbox list, inviting the host failed and pasting its nprofile in the app showed an error. - The app runs on marmot-kmp instead of the MarmotKit native library: no JNA, no per-ABI native code, and the identity and MLS state are encrypted at rest under an Android Keystore key. - A daemon restart no longer re-sends the "continue" nudge to sessions that were busy without a queued prompt; they go idle with a notice instead.
  • Oct 30, 2026 0.4.3
    The Android application ID is now `com.greenart7c3.labradorite`. - The app used `com.greenart7c3` as its application ID; it is now `com.greenart7c3.labradorite` (debug builds `com.greenart7c3.labradorite.debug`). Android treats this as a new app: it installs next to the old one instead of updating it, starts without data and has to be paired with agentd again. Uninstall the old Labradorite afterwards.