2026 UpdatesLink to section

May 2026Link to section

agentgrepLink to section

agentgrep is a new project for searching local AI agent prompts and history across Claude Code, Codex, Cursor, and Gemini CLI. It ships four consumption surfaces from one codebase:

  • CLIagentgrep grep (rg/ag-shaped content search), agentgrep find (fd-shaped file discovery), agentgrep fuzzy (fzf-shaped ranking). A Lucene-style query language threads through all subcommands with field predicates (agent:, mtime:, model:, role:), boolean operators, and date ranges. --json / --ndjson / --vimgrep for pipeline consumption.
  • TUI — Textual app with live-streaming results, vim-style navigation, and format-aware JSON/Markdown rendering. Accessible via bare agentgrep or --ui on any subcommand.
  • Libraryrun_search_query() and typed event-stream iterators for embedding in other tools.
  • MCP serveragentgrep-mcp exposes search, catalog, discovery, and validation tools plus agentgrep:// resources to any MCP client.

Backed by a Pydantic-modelled storage catalog mapping every known prompt and history store across agents. Seven alpha releases (a0–a6) shipped in May.

libtmuxLink to section

libtmux shipped three feature releases in May:

v0.56.0 is the command-parity release — 50+ new Python methods covering tmux’s full command surface:

v0.57.0 adds a typed client model and tmux-native filtering:

v0.58.0 fixes subprocess output decoding on non-UTF-8 locales, where the Unicode format separator was corrupted and list accessors silently returned empty results.

libtmux-mcpLink to section

libtmux-mcp shipped six alpha releases (v0.1.0a4 through v0.1.0a9) maturing the agent-facing terminal control surface:

  • Pane recovery: respawn_pane restarts a stuck pane in place, preserving pane_id and window layout
  • Layout-relative targeting: find_pane_by_position resolves window corners (top-left, bottom-right, etc.) to a typed pane — no more parsing tmux format variables
  • Typed geometry: Pane responses now carry window-relative coordinates and edge predicates so agents can reason about layout without extra queries
  • Agent discovery rework: Bare “pane”, “window”, “session” prompts now activate the server; registration slug standardized to tmux
  • Deterministic command completion: wait_for_text redesigned to match only new output, reframing wait_for_channel as the primary synchronization primitive
  • Polling correctness: Wrapped-line matching in search_panes, history-limit trim warnings, pane lifecycle detection in wait_for_content_change

April 2026Link to section

vcspullLink to section

v1.59.0 overhauls vcspull sync with timeout guards, live progress, and a per-invocation debug log:

  • Per-repo timeout: Each repo runs under a 10-second deadline; override with --timeout SECONDS. The end-of-run summary lists timed-out repos with copy-pasteable rerun commands.
  • Live status indicator: Terminal spinner shows the active repo name and elapsed time; piped output emits periodic heartbeat lines.
  • Streaming output trail: A 3-line panel above the spinner shows recent git output and collapses when each repo finishes; tunable with --panel-lines.
  • Per-invocation debug log: Drops debug logs under $TMPDIR/vcspull/ (npm/pnpm style), surfaced automatically on failure or timeout.
  • Ctrl-C aborts shell chains: Exits via signal so chained vcspull sync && ... stops on first interrupt.
  • Quieter default output: libvcs logs are silenced by default; pass -v/-vv for verbosity.

Built on libvcs v0.40.0, which adds a timeout= keyword to Git.run()/Hg.run()/Svn.run() and fixes a perf regression on ref-heavy repos (2400+ refs).

libtmux-mcpLink to section

libtmux-mcp — terminal control for AI agents, built on libtmux and FastMCP — landed its first public alphas: v0.1.0a1 (2026-04-13) through v0.1.0a3 (2026-04-19). It exposes 30+ MCP tools across the tmux hierarchy (server → session → window → pane):

gp-sphinxLink to section

gp-sphinx — an integrated autodoc design system for git-pull Sphinx projects — landed its first public alphas: v0.0.1a10 (2026-04-25) through v0.0.1a12 (2026-04-27). It bundles 12 Sphinx packages that replace ~300 lines of duplicated docs/conf.py with ~10 lines:

Already powering the docs for libtmux v0.55.1, libvcs v0.40.0, and vcspull v1.59.0.

March 2026Link to section

vcspullLink to section

v1.58.0 adds --sync and --prune flags to vcspull import for full bidirectional config reconciliation, a --prune-untracked flag, and a granular options.pin metadata field to protect specific entries from mutation:

  • --sync: Updates changed URLs and prunes stale entries, fully reconciling config with the remote
  • --prune: Standalone cleanup — removes stale entries without updating URLs
  • --prune-untracked: Extends --sync/--prune to also remove entries lacking import provenance
  • Provenance tracking: metadata.imported_from tags scope pruning — manually added repos are never removed
  • options.pin: Per-repo, per-operation mutation guard (pin: true, pin: {import: true}, allow_overwrite: false)
  • Bug fix: vcspull add, discover, and fmt no longer silently corrupt .json config files

Available on all six import providers. Pruning is config-only — cloned directories on disk are not deleted. Uses a consistent CRDT action model (classifier → enum → apply) across all five config-mutation operations.

February 2026Link to section

vcspullLink to section

vcspull shipped two feature releases:

v1.55.0 adds vcspull import for bulk-importing repositories from remote hosting services into your vcspull configuration:

  • 6 services: GitHub (gh), GitLab (gl), Codeberg (cb), Gitea, Forgejo, and AWS CodeCommit (cc)
  • 3 modes: user (default), organization, and search
  • Filtering: --language, --topics, --min-stars, --archived, --forks
  • Self-hosted support: --url for GitHub Enterprise, GitLab, Gitea, and Forgejo instances
  • GitLab subgroups: Nested group hierarchies map to workspace roots automatically; --flatten-groups to collapse them
  • SSH clone URLs by default; --https to switch

No new dependencies — HTTP is handled with stdlib urllib.

v1.56.0 adds vcspull worktree for declarative git worktree management. Configure worktrees per-repo in YAML targeting tags, branches, or commits, then list, sync, and prune them. Dirty worktrees are reported as BLOCKED (never force-updated), and --include-worktrees on vcspull sync handles repositories and their worktrees in one pass.

January 2026Link to section

tmuxpLink to section

tmuxp v1.63.0 modernizes the CLI with semantic colors and new commands:

  • Semantic colors: New --color flag (auto/always/never) with NO_COLOR/FORCE_COLOR support per no-color.org
  • tmuxp search: Find workspace files with field-scoped search (name:, session:, path:, window:, pane:), matching options (-i, -S, -F, -w), and --json/--ndjson output
  • Enhanced tmuxp ls: --tree for grouped display, --full for complete config, --json/--ndjson for automation, local workspace discovery from cwd
  • tmuxp debug-info --json: Structured output for issue reporting
  • Beautiful --help: Usage examples with syntax highlighting
  • PrivatePath: Masks home directory as ~ in output for privacy

Documentation now features enhanced CLI command pages via a new pretty_argparse Sphinx extension with syntax-highlighted usage blocks.

See release notes.

social-embedLink to section

social-embed received a major site overhaul:

  • Interactive playgrounds on homepage: Try the web component and library directly from the front page with live code editing
  • Migrated from Starlight to pure Astro: Custom layouts, mobile navigation, and full control over styling
  • New React search modal: Keyboard navigation, Algolia-style breadcrumbs, and title/excerpt highlighting
  • Custom Aside component: Callout/admonition component with multiple styling variants