Haskell Agent documentation Haskell 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-agent Run 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.