Loading repository data…
Loading repository data…
Pythoughts-labs / repository
Think first, then code. Where Claude Code and Codex jump straight to writing, this stays review-first: a code reviewer, security scanner, root-cause debugger, and code generator, all in one shell-native loop.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Code reviewer · Security & vulnerability scanner · Root-cause debugger — then code creator. Pythinker reads your repo, audits it, and only writes code after the analysis. All from the shell you already live in.
🌐 Website · ⚡ Quick Start · ✨ Features · 🧩 IDE Integration · 🔌 MCP · 🔐 Privacy · 🛠️ Develop
Pythinker Code is an open-source, review-first AI engineering agent that lives in your terminal. Before it writes a single line, it reads yours — auditing diffs, scanning for vulnerabilities, and root-causing failures. Unlike chat assistants that jump straight to code, Pythinker leads with , and only edits files once the analysis points at a fix.
It ships with first-class subagents for each role — code-reviewer for severity-scored diff critique, security-reviewer for validated vulnerability findings, debugger for failure root-causing, and coder/implementer for the scoped edits that follow. All running in a single iterative loop, driven by the model of your choice, with full access to your repo, the shell, the web, and MCP tools.
It speaks the Agent Client Protocol (ACP), so it slots cleanly into ACP-aware editors like Zed and JetBrains. It loads Model Context Protocol (MCP) servers, so the same tools your other agents use just work. And it's hackable: subagents, skills, hooks, and plugins are all first-class extension points.
🎯 Review · Secure · Diagnose · then Create. One agent, one shell, one workflow. No tab-switching. No context loss. No magic.
system_leaf.md prompt from shared Jinja partials instead of the full root system prompt, dropping root-only orchestration prose from every spawn (implementer prompt: ~7,270 → ~4,240 words) while keeping the root render byte-identical.<coding_artifact> contract is now rendered and extracted from a single CodingArtifact schema — exactly one end-of-message block, duplicate/undeclared keys rejected, and malformed artifacts surfaced distinctly to the judge instead of passing through as valid.auto_update becomes a policy enum (off, notify, download, apply_on_exit) with legacy booleans still accepted, and the post-update smoke check verifies the upgraded binary and version.Upgrade with pythinker update, pip install --upgrade pythinker-code==0.60.0, or use the native installer for your platform from the Releases page.
Plan, edit, run, and verify without leaving your shell. Every action is visible, scriptable, and auditable.
Press Ctrl-X to drop into a direct shell prompt inside the agent. Run commands, then snap back into AI mode with full context preserved.
Run pythinker acp and any Agent Client Protocol editor — Zed, JetBrains, and more — gets a full Pythinker session inline.
Manage stdio and HTTP MCP servers with pythinker mcp. OAuth-backed servers, persistent config, ad-hoc files — all supported.
Delegate focused work to built-in subagents. Load reusable instructions via /skill:<name> and bundled prompt flows via /flow:<name>. Use pythinker skill list, pythinker skill lock, and pythinker skill verify-lock to inspect project skills and pin their hashes in skills-lock.json.
Observe or block tool execution with hook events. Install community extensions with pythinker plugin.
Optional web frontend and visualization frontend ship alongside the CLI for richer inspection workflows.
Swap providers and models per-session: --model openai/gpt-5.5, hosted Pythinker models, or your own keys.
Run /benchmark to execute deterministic local coding tasks through the active Pythinker session, with replayable artifacts and verification reports.
Run trusted local JSONL fixtures with /benchmark:swe --dataset <path> --trusted-dataset true when you want SWE-style task inputs without a hosted evaluator.
[!NOTE] Built-in shell commands such as
cdare not yet supported in shell command mode.
Pythinker ships native installers for every platform. Pick the row that
matches your OS — no Python, Node, or uv prerequisite.
| Platform | Recommended install | Artifact source |
|---|---|---|
| 🪟 Windows | irm https://pythinker.com/install.ps1 | iex | PythinkerSetup-0.60.0.exe from Releases |
| / | curl -fsSL https://pythinker.com/install.sh | bash | native tarball from Releases |
| — Homebrew | brew install Pythoughts-labs/pythinker/pythinker-code | auto-published Homebrew tap |
| 🐳 Docker | docker run --rm -it ghcr.io/pythoughts-labs/pythinker-code | GHCR multi-arch image |
| 🪟 Windows — Scoop | scoop bucket add pythinker https://github.com/Pythoughts-labs/scoop-pythinker && scoop install pythinker-code | auto-published Scoop bucket |
| ❄️ Nix | nix run github:Pythoughts-labs/pythinker-code | flake apps.default |
| — system package | Download the .deb or .rpm for your distro below | Releases |
| 🐍 Python fallback | pip install pythinker-code | PyPI |
Every artifact ships with a matching .sha256 file — verify before install on
any platform with sha256sum, shasum -a 256, or Get-FileHash.
After install, on any OS:
pythinker --version # confirm install
pythinker login # (optional) authenticate a hosted provider
pythinker # start the interactive TUI
In-app updates —
pythinker updatequeries the GitHub Releases API and re-runs the right installer for your build with SHA-256 verification. SetPYTHINKER_CLI_NO_AUTO_UPDATE=1to disable the proactive startup check.
PythinkerSetup-0.60.0.exe is an Inno Setup wizard. Release builds are signed
when Authenticode secrets are configured in CI; otherwise the installer ships
unsigned. Installs per-user into %LOCALAPPDATA%\Programs\Pythinker, registers
pythinker on your user PATH (HKCU\Environment), broadcasts
WM_SETTINGCHANGE so new shells see the change. No UAC prompt.
# One-line install (downloads the native .exe, verifies SHA-256, runs per-user)
irm https://pythinker.com/install.ps1 | iex
# Or manually download the installer + checksum from the Releases page,
# verify with Get-FileHash, then run:
.\PythinkerSetup-0.60.0.exe
# Open a fresh PowerShell
pythinker --version
Per-machine install (IT-managed boxes): .\PythinkerSetup-0.60.0.exe /ALLUSERS
installs to %ProgramFiles%\Pythinker and writes PATH to HKLM (requires admin).
Upgrade: pythinker update from inside the running app — it downloads
the newest installer, verifies SHA-256, and launches the Inno installer
with visible progress (/SILENT /NORESTART /CURRENTUSER /CLOSEAPPLICATIONS /NORESTARTAPPLICATIONS).
Uninstall: Apps & Features → Pythinker Code → Uninstall reverts both the files and the PATH edit.
🛡 First-launch SmartScreen warning — Until Authenticode secrets are configured in CI for a release, the installer ships unsigned and Windows shows "Windows protected your PC." Click More info → Run anyway. Use the published
.sha256as your integrity check until signing comes online.
# 1. Install
brew install Pythoughts-labs/pythinker/pythinker-code
# Homebr