gitmyhub

medad

Python ★ 0 updated 1mo ago

✏️ Terminal coding agent/harness built on LangChain Deep Agents; approval-gated edits & shell, skills, memory, subagents, resumable sessions [WIP]

medad is a terminal coding agent built on LangChain Deep Agents that reads, writes, and runs commands in your project with approval gated edits, sandboxes, and resumable sessions.

PythonLangChainLangGraphDockersetup: moderatecomplexity 4/5

medad is a terminal based coding agent, similar in spirit to Claude Code, built using LangChain's Deep Agents toolkit with LangGraph running underneath. It lets you chat with an AI in your terminal that can read, write, and edit files, run shell commands, and carry out multi-step coding tasks in your project directory.

The agent works interactively, streaming its responses and showing a short summary of what tool it is using as it works. Before it changes a file or runs a shell command, it shows you exactly what it plans to do, a diff for file edits or the command line for shell actions, and waits for you to approve, reject, or mark it as always allowed. You can also set up an allowlist of commands that get approved automatically, though chained or piped commands never match the allowlist by prefix alone.

Sessions are saved so you can resume a previous conversation later, and the agent can plan its own todo lists, delegate subtasks to named subagents you define, and load memory files that carry instructions and notes between sessions. It also supports a skills system, where you drop a folder containing a SKILL.md file into a skills directory and invoke it by name during a session.

For safety, medad can run its file and shell tools inside a sandbox rather than directly on your machine, either a local Docker container or a remote LangSmith virtual machine, which is especially useful for its headless mode meant for scripting and automated pipelines. It can also connect to external tools through MCP servers, and supports tracing every turn and tool call through LangSmith if you set the right environment variables.

To install and run it you use the uv Python package manager, set an API key for Anthropic or another supported provider, and start it from the command line. The README labels the project as a work in progress.

Where it fits