Skip to content

Latest commit

 

History

483 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

factorai

IDE is dead. Long live the ADE

Agentic Development Environment for the AI era

site: factorai.build status: alpha platform: macOS and Linux CI licence: MIT

Warning

factorai is alpha. It is used daily by its author and by very few other people. Releases go out several times a day and publish themselves; things move, break and get renamed without ceremony. It drives real agent sessions against real repositories, so point it at work your version control can recover. What's next and what just landed.

You stopped writing most of the code. Your editor never noticed. It still opens files one at a time, still assumes the cursor is the thing that matters, still treats the terminal running your agent as a rectangle at the bottom of the screen.

factorai is built the other way round. The unit of work is a session, not a file — agents are long-lived processes you launch, watch, resume and kill, and reading code is something you do to check on the work.


Run agents, not chats

Every session is a real PTY with xterm.js in front of it — the actual claude or codex CLI, not a reimplementation of it. Claude Code and Codex sit side by side; a project runs whichever its profile says, and the chevron beside + starts the other. Launch a new one, resume an old one, stop and restart it. Terminals survive navigation: leave a session, go read a file, come back, it is still running.

The dot beside each session says what it is doing — working, waiting for you, or stopped — read from the agent's own terminal title rather than guessed at, so "is it blocked on a permission prompt?" is answerable from the sidebar. Open sessions become tabs, and the tabs come back when you relaunch.

factorai running a live session, with the sidebar showing session status

Put an agent on a schedule

A routine is a saved prompt with a cron behind it, kept per project: a nightly triage, a dependency sweep, a lint gate on the hour. When one comes due, factorai starts a session with that prompt as its first message — without opening a tab, so a project's scheduled work does not take the window away from what you are doing. Its dot is blue while it runs in the background, and opening it makes it an ordinary session with an ordinary tab.

Routines run while factorai is open, and a run missed while it was closed is caught up at launch.

A project's Routines tab: three routines with their schedules, next runs and enable switches

Arrange the sidebar the way you think

Projects sit where you drag them, in groups you name — Pro, Perso, side projects. Drop one on a group to file it, on the edge to leave it beside, or hold it over another project to group the two. Alt+arrows and Move to group do the same from the keyboard, and Name or Recent sort when you would rather have a rule than an arrangement.

Find the conversation you half-remember

factorai reads ~/.claude/projects/ and ~/.codex/sessions/ directly — projects, sessions, titles, turn counts, timestamps. Nothing is imported, copied or migrated; your transcripts stay exactly where each CLI put them, and those directories are treated as read-only.

On top of it sits SQLite FTS5 across every message in every session, so "which conversation was that?" takes a second rather than an afternoon of grep through JSONL.

Full-text search across every message in every session

Inspect what it did to your repo

A Changes panel with the usual git grouping — staged, unstaged, conflicts — line counts per file, and a diff on click. It polls, so it keeps up with an agent mid-edit.

A Graph tab for the history around what just happened: lanes, refs, and who wrote each commit. And a file tree with git decorations — changed files coloured, dirty folders dotted, ignored ones dimmed — in front of a Monaco viewer with syntax highlighting and rendered markdown.

A side-by-side diff of a changed file, index against the working tree

The Graph tab, showing refs, tags and a commit's changed files


Nothing leaves your machine. No telemetry, no analytics, no crash reporting. No account, no server, no sync — factorai reads local files and runs local processes, and it never handles your credentials: it drives the claude or codex CLI you have already logged into.

No orphan agents, ever. Closing the window with live sessions always confirms, then kills every child (SIGTERM → SIGKILL). An unattended agent process is real money.

Install

Grab the .dmg (macOS), the .AppImage (Linux) or factorai-setup.exe (Windows) from Releases. They update themselves — factorai checks on launch and every six hours, stages the new version in the background, and shows Restart in the header when it is ready. Nothing restarts on its own, because a restart kills running sessions.

You also need at least one agent CLI, already authenticated: Claude Code (claude login) or Codex (codex login).

On Windows, factorai runs inside WSL 2. It is the Linux build in your own distribution, shown as a normal window by WSLg — not a native port. That is on purpose: your repositories, your toolchain and your CLI logins live in the distribution, and reaching them from Windows goes over a network filesystem that is slow and where file watching does not work at all. factorai-setup.exe checks the machine, installs into your default distribution and puts factorai in the Start menu. It never installs WSL for you — if something is missing it tells you the command to run.

Needs Windows 10 21H2 (build 19044) or Windows 11, x86_64, with WSL 2. ARM64 Windows is not supported. Keep your projects inside the distribution, under ~ — a folder on /mnt/c works, but the session list will not update on its own there and git is slow, and factorai marks such a project with a warning.

Three things that look like the app is broken, and aren't

macOS builds have no Apple Developer certificate behind them, so Gatekeeper refuses the app on first launch with "damaged and can't be opened". Right-click the app → Open → Open, or clear the quarantine attribute yourself:

xattr -dr com.apple.quarantine /Applications/factorai.app

macOS asks for App Management the first time an update installs, with "factorai was prevented from modifying apps on your Mac". Installing an update means replacing factorai.app, and macOS gates that. Allow it in System Settings → Privacy & Security → App Management and it stays allowed. If it keeps asking on every release, or folder permissions keep coming back, you are on a build at or before v0.32.0 — those grants were tied to the exact build, and every release voided them.

Linux bundles need glibc 2.39 or newer — Ubuntu 24.04+, Debian 13+, Fedora 40+. They are built on Ubuntu 24.04, and a glibc-linked binary does not run on an older release than the one that built it. On Ubuntu 22.04 you will see GLIBC_2.38 not found; build from source there instead.

There is no .deb, on purpose: Tauri's updater can replace an AppImage in place but never a .deb, since apt owns those files — and a package that silently never self-updates is worse than none.

Windows warns that it protected your PC when you run factorai-setup.exe, because the installer is unsigned. Click More info → Run anyway. It is unsigned for a concrete reason rather than an oversight: there is no free Authenticode certificate authority — since June 2023 CAs must keep code-signing keys on dedicated hardware — and self-signing changes nothing a user sees on Windows. An application to SignPath Foundation, which is free for open-source projects, is in flight. The Linux binary the installer places is signed the way every other release is, and the app verifies its own updates.

Reveal in file manager does nothing on Windows. There is no file manager on WSL's session bus for the app to ask. External links work.

Building from source, and everything else a contributor needs, is in CONTRIBUTING.md.


macOS, Linux, and Windows through WSL 2.

Releases

Contributors

Languages