Harvey is a terminal-based coding agent written in Go. It connects to an Ollama server (or other supported providers) to provide an interactive REPL for working with language models, with all operations sandboxed to a workspace directory. The name comes from Mary Chase’s play about a Púca — Harvey is a small, local agent for small computers. See Vision for the philosophy behind the project.
Harvey is experimental — a working proof of concept, not production-ready software. Letting a probabilistic model direct command execution is an inherently risky attack surface; Harvey mitigates this with safe mode, workspace sandboxing, permission checks, audit logging, and security reviews with each release, but the risk is never zero. Don’t use Harvey where the risks might endanger your data, people, or planet. See SECURITY.md for details.
HARVEY.md provides a customizable system prompt per
workspace.spmd) files — replay, continue, or mine them for
memories@mention dispatch and model
aliasingwrite_file (gofmt,
clang-format, black, rustfmt, prettier, and built-in Pascal/Oberon/Basic
formatters)Install: Run the installer for your platform
./installer.shinstaller.ps1 in PowerShellRun: harvey
Try it:
harvey > /read LICENSE
harvey > /helpSee Installation for detailed instructions.
Harvey runs on: - Linux: x86_64, aarch64, armv7l - macOS: Intel and Apple Silicon (M1 and above) - Windows: x86_64 - Raspberry Pi OS
For building Harvey and documentation from source:
version: 0.0.13
status: active
released: 2026-06-19
Added multi-language code-aware chunking for RAG ingestion (C, C++, Pascal, Oberon, Lisp, Basic)
Added documentation extraction: comment and docstring association with symbols for C, C++, Pascal, Oberon, Lisp, Basic
Added ANSI syntax highlighting of code blocks in LLM responses
(13 languages: C, C++, Pascal, Oberon, Lisp, Basic, Go, Python,
JavaScript, TypeScript, Rust, Shell, SQL); configurable via
syntax_highlight in harvey.yaml
Added automatic code formatting on write_file:
built-in formatters for Pascal, Oberon, Basic; external pipe-mode
formatters for Go (gofmt), C/C++ (clang-format), Python (black), Rust
(rustfmt), JavaScript/TypeScript (prettier); configurable via
auto_format in harvey.yaml
Added /format FILE [FILE...] command to manually
format workspace source files in-place
See CHANGES.md for detailed release history.