Features
What mnml does, for people editing code and for people running AI coding agents alongside it.
mnml is a terminal IDE. It runs inside the terminal you already use — locally or over SSH — as one binary with nothing else to install.
Its features serve two kinds of work, and most days are a mix of both.
Editing code. The editor itself: a Neovim-style modal keymap or a VS Code-style modeless one, tree-sitter highlighting, language servers, a debugger, git, an HTTP client, and terminal panes for everything else. These are the features that make the hours you spend writing code better, whatever else you are doing.
Running AI agents alongside it. More and more of the typing is done by Claude Code or Codex, and the work becomes supervising several of them at once. mnml runs those agents in its own splits, tells you which one is waiting on you, gives each its own git worktree, and shows every session on the machine in one table — while the editor stays right there for reviewing and fixing what they wrote.
Feature Highlights
AI coding sessions: Claude Code and Codex in terminal splits that tile themselves, a sessions table for every session on the machine, a git worktree per session, spend and usage on the statusline, and ghost-text suggestions.
Two complete keymaps: vim (Neovim and NvChad's chords, with which-key under
space) or standard (VS Code's). Neither is an afterthought bolted onto the other.NvChad's chrome: a file tree, buffer line, powerline statusline and file icons, in NvChad's 94 base46 colour themes — with a command palette, right-click menus and the mouse everywhere.
Menus that teach the keys: every menu row prints its chord for your profile, tab strips page with every tab one click away, and every text field takes the mouse, a selection and a paste.
Hover help: an info panel at the foot of the sidebar describes whatever the pointer rests on, with the chords for your profile and links that run, configure or ask about it.
Terminal panes on libghostty: shells, runners and tools in splits, emulated by the same library Ghostty is built on.
Git: staging down to single lines, blame, a commit graph with an interactive-rebase planner, and conflicts resolved in the editor.
Language intelligence: LSP for diagnostics, completion, navigation, rename, formatting and code actions; 41 tree-sitter grammars compiled in; a Debug Adapter Protocol debugger.
An HTTP client: requests as
.httpand.curlfiles in your repository, environments, chains, mocks and history, and the same client on the command line.API traffic: who is spending a Jira or Bitbucket budget right now — mnml's panes beside your own loops and scripts — by program and by minute, against the hourly limit.
Tests and tasks: run the whole suite, one file, or the test at the cursor with your project's own runner (Cargo, npm, pytest, Go, Zig and others), re-run only the failures, and run configured tasks in terminal panes.
An API:
mnml remoteopens files and runs commands in a running mnml from any shell, anything beyond the view asks you first, and a Claude Code session in an mnml pane uses mnml as its IDE with no setup.Links: URLs, ticket keys and pull-request references open from session cards, terminals, editors and toasts, through one rule set the installed integrations declare.
Lua scripting: an
init.luafor your own commands, keys, hooks, statusline segments and pickers, with Lua 5.4 compiled in.Integrations: Jira and Bitbucket panes, a Marketplace to install them from, and private sources for your own.
Workspace trust: settings in a repository you cloned that could run a program — a language server, a formatter, a task, a script — are held back until you trust that workspace, and you are asked once.
Everywhere: macOS, Linux and Windows builds from one codebase. With a Nerd Font it draws icons; with
--asciiit needs none.