Agents Features Testimonials Install Docs Blog Changelog Discord GitHub
Fresh

A modern
terminal IDE.

Easy to use, with the keys you already know. Designed for driving coding agents alongside a full-blown IDE and text editor: LSP, git review, multi-cursor, remoting and more. One binary, nothing to configure.

curl -fsSL https://raw.githubusercontent.com/sinelaw/fresh/refs/heads/master/scripts/install.sh | sh Copied

Light enough to run almost anywhere.

One small, self-contained binary that stays light on memory. Linux, macOS, Windows and FreeBSD, and built for remoting: edit files and drive agents on remote machines over SSH.

01Orchestrator

Every task gets its own workspace.#

Each task gets its own git worktree, with its own tabs, terminals and agent. Hop between tasks with an arrow key while the rest keep working.

An agent, right beside your code.

Put any terminal coding agent to work in any workspace (Claude Code, Codex, OpenCode or a command of your own). Agents that can resume pick up where they left off after a restart.

Every change, ready to review.

Branch, diff and PR status sit in the dock. Review hunk by hunk: stage, unstage, discard, and leave notes as you go.

Here, or anywhere.

Workspaces run on this machine, on any host in your ~/.ssh/config, in Kubernetes or in a dev container. On a remote, Fresh cuts the worktree right there.

Teach Fresh CLI

Agents that drive the editor.#

Fresh's command line is built for agents as much as for you. Let an agent use it and it can organize your workspaces into folders, start new sessions, wait on other agents, split panes and open files for you to look at. Only the agents you allow get the key, and they learn the ropes from fresh --skill.

# from inside an agent's workspace fresh --cmd workspace list fresh --cmd agent wait demo-2 fresh --cmd agent start codex --prompt "review this branch" # anything a plugin can do, as a script echo 'editor.executeAction("split_vertical"); await editor.openFile("src/cache.rs")' \ | fresh --cmd script run -
review diff
Review Diff showing two files' hunks, with added and removed lines
  • Hunk-level stage / unstage / discard
  • Side-by-side diff view
  • Line comments and review notes, exported to Markdown
  • Git gutter, git log viewer, git grep
02Familiar

Familiar from the first keystroke.#

Ctrl+S saves. Ctrl+C copies. Click, drag, scroll. If you have used a modern editor, you already know how to use Fresh. There are no modes to learn and no cheat sheet to keep open.

  • Menus and a command palette for everything, one shortcut away
  • Multi-cursor editing, macros, regex search & replace
  • Vim mode, if that is how you think
03Themes

Make it yours.#

Browse the themes and the whole editor changes as you go. Tokyo Night, Gruvbox, Dracula, Nord and more are built in, and the theme editor works live.

  • A status bar you arrange yourself, clock included
  • Rulers, whitespace, rainbow brackets, per-language wrap
  • In Japanese, Korean, Chinese, Vietnamese and more
04Settings

Settings, not config files.#

Every option lives in one settings editor, with its description and its default right beside it. There are no dotfiles to hunt down and no syntax to get wrong.

  • Press / to search every setting
  • A keybinding editor that catches conflicts
  • Plugin settings, in the same place
05Performance

Two gigabytes. Unbothered.#

Open a multi-gigabyte log and the editor stays responsive: jump to the last line and keep scrolling. Startup is instant and memory stays small, even over SSH.

  • Multi-GB files open without blocking the UI
  • SSH saves send only the diff
  • Search & replace across the project, unsaved buffers included
06Extensible

Extend it in TypeScript.#

Plugins are written in TypeScript and run sandboxed inside the same single binary, with no node_modules on disk. Language packs bring a grammar, settings and LSP config in one install.

  • An API for buffers, splits, cursors, processes and overlays
  • Your own keybinding modes and embedded terminals
  • Start a new package with --init
Language servers

Many servers, one editor.#

Run several LSP servers per language (pylsp and pyright, say) with feature routing and merged completions. Workspace roots come from markers like Cargo.toml or package.json.

  • Configs for Python, TypeScript, Rust, Go, Java, C/C++, Ruby and many more
  • Goto, references and hover in library paths
  • Code actions with workspace edits
Daemon

Detach, come back.#

Start a named daemon and reattach across terminal disconnects. --wait makes Fresh your $EDITOR; Hot Exit keeps every buffer across restarts and crashes.

# Use Fresh as your git editor git config --global core.editor "fresh --wait" # Attach a persistent daemon fresh -a myproject
Remote

Remote files, close at hand.#

Open files on an SSH host with fresh user@host:path. It reconnects in the background, and saves to large files send only the patch.

# Open nginx.conf on prod fresh deploy@prod:/etc/nginx/nginx.conf # Ctrl+P finds remote files; sudo save works
Install

Ready in one line.#

One static binary, no runtime. Pick your platform, or see even more options.

Linux / macOS (quick install)#

curl -fsSL https://raw.githubusercontent.com/sinelaw/fresh/refs/heads/master/scripts/install.sh | sh

One-line install. No toolchain required.

macOS (Homebrew)#

brew install fresh-editor

Windows (winget)#

winget install fresh-editor

Debian / Ubuntu#

Grab the .deb from Releases, then:

sudo dpkg -i fresh-editor_*.deb

Arch Linux (AUR)#

yay -S fresh-editor

View on AUR — aarch64 supported.

npm / npx (no install)#

npx @fresh-editor/fresh-editor

Or global: npm install -g @fresh-editor/fresh-editor

Pre-built Binaries#

Linux, macOS, Windows, FreeBSD binaries on GitHub Releases. Drop anywhere on $PATH.

From source (Cargo)#

cargo install --locked fresh-editor

If you already have a Rust toolchain.

Everything else

And so much more.#

Kind words

In their own words.#

how come nobody is talking about [Fresh] … by far the best terminal-based ADE/orchestration tool i've used so far 🔥🔥🔥

— Paul Bettner (@paulbettner), X

FINALLY A TERMINAL EDITOR THAT WORKS AND LOOKS GOOD AND IT WORKS LIKE EDIT.COM BUT LIKE VSCODE AND IT'S NOT A HOTKEY GALORE WHERE YOU NEED A SEPARATE BRAIN TO LEARN HOW TO USE IT OH MY GOD I WAS ABLE TO COPY AND PASTE LIKE A NORMAL PERSON

— u/darkguy2008, r/CLI

A new code editor, and it looks good! It's called Fresh and it's an alternative to Vim and Nano. 100% in the terminal. Built in Rust, so it flies.

— Miguel Ángel Durán (@midudev), X — translated from Spanish

Out of the box this is the best new TUI editor I've tried, probably ever. … you really nailed the discoverability / accessibility — basically everything works intuitively and needs very little explanation.

— 20after4, Hacker News

So this absolutely the most amazing terminal IDE I have ever seen or used! I'm really amazed that it's not heavy on key bindings so you don't have to be an expert in Vim or Emacs to get around the application. It works just like a GUI application with mouse integration. Wow totally impressed!

— u/Salemx27x, r/CLI

I used to work with Micro, Nice Editor, or Tilde, but now Fresh is the best text editor i have ever seen!

— marco-trovato, GitHub

It's fast, cross-platform and, unlike Vim or Emacs, you don't need to learn complicated commands. It's intuitive like VS Code… it even recognises the mouse, and I installed it with a single npm command. 🤯

— Fazt (@FaztTech), X — translated from Spanish

Omg I am using your ide for like 1.5+ months atp! Such an amazing cli code editor! I was looking for a cli alternative to vscode and this is honestly great.

— u/colmehurze, r/CLI

It has actually replaced both Sublime and VSCode as my IDE of choice on my laptop. I got tired of the fan running full speed when I wanted to work on a project.

— rkram5424, GitHub

I'm really impressed with Fresh, a terminal text editor that you can just use.

— DistroTube, YouTube

This is incredible and really fills a niche: an editor that feels and works like a GUI, but works in terminal. It's so nice to be able to switch from GUI to terminal and be able to retain the same mechanics and intuition. … for everyone who mostly lives in the GUI (which is most people now), this is a godsend.

— u/JumpingJack79, r/commandline

I had given up hope on ever finding an editor like this. Just did a little bit of browsing in a current project and WOW.

— rglover, Hacker News

There haven't really been any [new text editors] that made me go, “Yeah, I want to switch to that,” in a long time. I think fresh might be the one that I would really think about switching to.

— Awesome Open Source, YouTube

The thing is sick! First editor ever to make me actually switch from nano.

— u/diacid, r/CLI

Thank you for a amazing terminal editor. Something that I felt was truly lacking in the modern age. Even though its unintended it's the perfect editor if you have mobility issues or are missing a limb. No need for weird vim/emacs bindings all over the keyboard making it hard to use.

— EliteAMDGamer, GitHub

man... i'm blown away, this project is so insane i had to personally congratulate you guys for it, it's simply fantastic

— eusebioleite, GitHub

Ive tried maybe every terminal editor attempting it to works like simple IDE, no luck :) so thank you pretty much for delivering this great stuff 🔥🔥🔥

— u/kisdmitri, r/CLI

The multi-cursor experience is the smoothest I've seen in a terminal based editor. Congrats!

— yoavm, Hacker News

Thank goodness for a terminal editor that behaves like a proper editor should. No silly mode, no weird key bindings, function keys even behave as expected and the mouse works if you have one.

— shartrec, GitHub

This is insane, love this project so much! Is now my main

— u/Ok_Trifle3308, r/commandline

i REALLY love this thing, especially the efficiency and speed (phenomenal!). gonna start using it daily.

— winterrdog, Hacker News

I love this editor. I'm looking to wean myself off vscode. Also the text based animations are *chefs-kiss*. Makes using the computer feel like the good old days.

— u/Virtual-Spring-5884, r/CLI

I really enjoy the command palette, the open file menu and the multi cursor. It's well thought, really intuitive so far and I definitively will use it regularly.

— az09mugen, Hacker News

I've been using it for over a month. It's getting better at each update. I've made an alias to replace nano with fresh

— u/not-them, r/CLI

Thanks for the great project, I've been waiting for a fully-featured and modern terminal text editor, and I've really, really enjoyed using fresh so far.

— long-live-yossarian, GitHub

i have been searching for something like this for weeks. thanks a lot for developing this. … can't wait to see this becoming more popular and even contributing to it where i can. kudos to you!

— u/Ropl, r/commandline

I have to say... I really like it. I was settled on NVim and VSCode … Everybody loves fast and responsive software, what can I say.

— desireco42, Hacker News

It works like a GUI editor but runs in your terminal.

— Sourav Rudra, It's FOSS

Been using fresh to edit some scripts across multiple VM's in my homelab the past few weeks and loving it so far! Been able to get hours and hours of usage with no hiccups. Hotkeys for fresh also feel pretty intuitive!

— u/Thebareassbear, r/CLI

I'm very impressed by the Fresh editor. I have a feeling this will very quickly become my favorite command line text editor!

— TobberH, GitHub

Fresh is well suited for you if you want modern editor conveniences and features like file explorers, split views, and LSP support without switching to a GUI editor. Give Fresh a try.

— Haroon Javed, Make Tech Easier

I just used this piece of software and I loved it. Good work sinelaw. It has real good potential esp. for people who want to shift towards working with TUI as their primary interface than say using a GUI.

— u/let_us_reddit, r/commandline

It is really awsome. Never imagine I would be able to use vscode inside a terminal 😆

— goutou1994, GitHub

What sets it apart from similar applications is that it targets developers who want IDE-style functionality while remaining entirely inside the terminal.

— Bobby Borisov, Linuxiac

Iam using your IDE on a daily basis for fun personal projects and learning. I love it. … I was looking for something efficient and not too heavy on the system + with some style.

— u/Classic-Weakness-788, r/commandline

Wow, the console editor I have been looking for for SO long, thank you!

— jetpax, GitHub

This has to be one of the best text editors that probably saved me for my upcoming semesters.

— VA-Valtorious, GitHub

Great work! This should have been made years ago.

— u/Suspicious_Selfy, r/commandline

This was the last blocker to making fresh my daily driver!

— steve-price-immybot, GitHub

I really like your code editor, because I wanted something that works out of the box and is also in the terminal (since I use it a lot).

— X3NON-11, GitHub

Really nice project! I very dislike modal editors, but I'm forced to use them since they are the only available editors in terminal.

— hkalbasi, GitHub

Just started using fresh and i love it, keep up the good work.

— Fegsav, GitHub

I wanted a list of all the cool things people are doing with Fresh (LOVE this editor).

— sottey, GitHub

Some tools simply get out of your way.

Fresh

The terminal IDE, refined.

Free and open source  ·  Linux · macOS · Windows · FreeBSD