Start here
Haskell Agent documentation
Start working with an independent agent harness for coding and digital work.
View as textHaskell Agent is an independent agent harness that connects language models to your projects, tools, and ongoing work. Use it to investigate a codebase, implement changes, run checks, and return to a task later without starting over.
You choose the model and provider. The harness manages the conversation, tool execution, approvals, saved sessions, and parallel agents.
Start here
- Install Haskell Agent and open a project.
- Connect a provider using a supported account or API key.
- Use the terminal to give instructions, inspect progress, and review changes.
nix run --accept-flake-config github:digitallyinduced/haskell-agentRun that command from a project directory with Nix flakes enabled. It opens the terminal client without adding an entry to your Nix profile. The first-session walkthrough takes you from installation through authentication, a small edit, review, and resuming saved work.
Your first session
Inside the agent, enter /login to connect an account, then /model to choose a model. Complete each interface before continuing. Use /session-info to inspect the selected model and current session.
Begin with investigation rather than an open-ended request to change the project. Ask the agent to identify evidence, not just offer an explanation:
Read this project's instructions and README. Identify its entry points
and the supported test command, with file references. Do not modify files.You should receive a repository-specific explanation and see the tool activity used to establish it. If the answer names the wrong directory or invents a test command, correct that before asking for edits. Review any tool approval request against the task you actually gave.
Work on a project
Once the agent has identified the test command, give it a bounded change:
Add a short README section describing the existing test command.
Do not change application code. Run any applicable documentation checks,
report their results, and do not commit or push.Use /diff to inspect the result. Ask for a correction if unrelated files changed, and review check output yourself before committing. /quit leaves the session; /resume lets you return later. Use project instructions and plans to establish conventions, and isolated worktrees and parallel agents when work needs to be separated.
Make it your own
For a complete worked task, start with a tutorial:
- Fix a bug: reproduce a failing test, make a bounded correction, and review the result.
- Investigate a repository: trace an entry point to its tests and produce an evidence-backed report.
- Integrate parallel changes: assign independent work, inspect each result, and validate the combined changes.
- Connect a local model: start local inference, register its model, and test generation and tool use.
- Connect an MCP server: configure a connection, authenticate, and verify a read-only operation.
| Task | Guide |
|---|---|
| Choose a provider or connect a local model | Models |
| Resume, search, or export previous work | Sessions |
| Reuse a documented workflow | Skills |
| Connect external tools and services | MCP integrations |
| Configure code intelligence | Language servers |
| Fetch documentation with domain restrictions | Web access |
| Maintain reusable lessons across sessions | Learned skills |
| Work through a Telegram bot | Telegram |
| Dictate a prompt | Voice input |
| Control tool execution | Approvals and sandboxing |
| Find a command | Command reference |
| Diagnose a failure | Troubleshooting |
About these guides
These guides cover the terminal client and the workflows available in this repository. Capabilities vary by model, provider, platform, and configured tools; a command's presence does not imply every provider supports every tool. Use /help inside a session for the current command list.