Skip to main content

Joshu

A coding agent for your terminal. Describe a task in plain language and Joshu reads and searches your code, edits files and runs commands until it's done, asking before anything risky. It works with any OpenAI-compatible model provider, including free and local models.

joshu "add a --verbose flag to the CLI and update the tests"

Features

  • Agent loop: the model uses tools (read, search, edit, shell, web, sub-agents, MCP servers), sees the results and keeps going until the task is done; independent reads and sub-agents run in parallel
  • Permissions and safety: edits show a diff and commands ask first; accept_edits, read-only plan and bypass modes; .env files, keys and credentials need explicit approval and secrets are masked in tool output
  • Any provider: NVIDIA, OpenRouter, OpenAI, Anthropic, Gemini, Groq, Mistral, DeepSeek, Ollama, LM Studio, vLLM or any OpenAI-compatible endpoint; live model lists, named models, retries and fallback models
  • Code intelligence: language-server errors after every edit, plus go-to-definition, references and hover
  • Interactive mode: themes, a / command menu with ~50 commands, Esc to interrupt, /rewind, /compact, /init, skills and memory across sessions
  • Lean on tokens: on-demand tool loading, compact results and context clearing keep a plain "hi" around 2k tokens
  • Extensible: custom commands, sub-agents, skills, hooks, MCP tools, prompts and resources, output styles
  • Programmable: a Python SDK, JSON / streaming JSON output, an HTTP server (joshu serve) and a GitHub Action that works on @joshu comments

Install

Python 3.10 or newer.

pipx install joshu        # or: pip install joshu

From source: git clone https://github.com/Faycalraghibi/Joshu.git && cd Joshu && pip install -e . (add [use] for semantic memory, [a2a] for the HTTP server).

Set up a model

The default is NVIDIA's free Nemotron 3.5 Lightning. Get a free key at build.nvidia.com and put it in .env or your environment:

NVIDIA_API_KEY=nvapi-...

Check the setup with joshu then /doctor. To use something else:

joshu providers                                   # providers and key status
joshu models -p openrouter --tools --free         # browse a provider's models
joshu use qwen3-coder -p ollama                   # local models, no key needed

Use

joshu                                         # interactive (/help, ? for shortcuts)
joshu "why does test_login fail?"             # one task
joshu run --permission-mode plan "how is auth implemented?"   # read-only
joshu run -p --output-format json "list the TODOs"            # for scripts
joshu run --continue "now add tests for it"   # continue the last conversation

From Python:

from joshu import run
print(run("summarize README.md").text)

Documentation

License

MIT

Metadata

Release files for joshu 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for joshu 0.3.0
File Size Uploaded
joshu-0.3.0.tar.gz 283.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for joshu 0.3.0
File Interpreter ABI Platform
joshu-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 620.4 kB

Release files / joshu-0.3.0.tar.gz

Download URL joshu-0.3.0.tar.gz
Size 283.2 kB
Tags Source
SHA-256 checksum
How to use checksums
e1b521ee9ae663fcc2587c304ddc38d21bf1f2b51fb582abb8be850f6a48f638
BLAKE2b-256 checksum
How to use checksums
c737a4bc8b67f8529046b15c89db5f8462ffb85282345e486e89d9a0e080ef2d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.

Transparency log

Release files / joshu-0.3.0-py3-none-any.whl

Download URL joshu-0.3.0-py3-none-any.whl
Size 337.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c622ff6645313acb59dcf7848ec0288b4a0f738624dd154d4e2f2232134f87ab
BLAKE2b-256 checksum
How to use checksums
37e0ada839638d37fe14d28f02d97a6c8bc195b90765190982118629fc7c751f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page