Files and the editor
Open a conversation's files beside it, edit and save them, and have a model explain a file in plain words.
The Files tab shows the folder the conversation works in: the project folder, or the thread's own worktree. You edit the same files the agent does, so its changes and yours meet on disk.
Open a file
Press ⌘J to show the side panel, click New tab (+), and choose Files. (On Windows and Linux, use Ctrl wherever this page shows ⌘.) The explorer lists the folder as a tree. Type in Search files… to narrow it. Matching files in open folders stay where they are, matching files elsewhere in the project are listed under More in the project, and once you type three letters, the lines that contain the text are listed under In files, grouped by file, with Match case and Regex beside the heading. A line opens its file at that line. The tree shows every file, including .env files, and leaves out only repository and system files such as .git and .DS_Store.
There are other ways to open a file:
- Press ⌘P or ⌘⇧F to go straight to Search files…, then press Return to open the first result.
- Click a file the agent read in the conversation's work steps, or a file link in a reply.
Each file opens in a tab of its own, named after the file. Markdown files open rendered, with Preview and Source on the toolbar. Images, PDFs, video, and audio play in the panel. For another kind of file, the File actions menu (⋯) has Open, which uses its usual app, and an item that shows it in Finder or your file manager.
The panel opens on the right of the conversation. To move it to the left, click Move panel left in the thread's header; Move panel right in the panel's header moves it back. Expand panel gives it more room.
Edit and save
Click into a file to edit it. When you have unsaved changes, the tab marks them and the toolbar shows Save. Press ⌘S to save.
When your project has a formatter for the file, saving formats it first. If the formatter fails, the file saves as you typed it and the panel says Saved without formatting. with the reason. Files in a copy of a pull request under review are never formatted, since their tools could run code nobody has reviewed.
OpenOrc keeps your unsaved edits when you switch tabs or conversations. If the file changes on disk before you save, often because the agent edited it, the panel says <file> changed after you started editing. Choose Keep mine to go on with your version, or Use new version to drop your edits. If the file was deleted, saving creates it again, and Discard drops your edits.
The File actions menu (⋯) has these, among others:
| Action | Keys | What it does |
|---|---|---|
| Format document | ⇧⌥F | Formats the file without saving it, with the formatter your project uses: Prettier, Biome, Ruff, Black, gofmt, or rustfmt. Without one, JavaScript, TypeScript, JSON, CSS, HTML, Markdown, YAML, and GraphQL files get the copy of Prettier that ships with OpenOrc, at Prettier's default settings. The panel says No formatter for this file. when neither applies. |
| Word wrap | ⌥Z | Wraps long lines in code and diffs. |
| Refresh | Reads the file from disk again. | |
| Copy path | Copies the file's path. |
Inside the editor, ⌘F finds and replaces text in the file.
TypeScript and JavaScript
In TypeScript and JavaScript files, the editor understands the code. It reads the project's tsconfig.json or jsconfig.json, and includes your unsaved edits.
- Hover a name to see its type and documentation. Suggestions appear as you type.
- Errors and warnings are underlined. Problems (⌘⇧M) lists them, and Quick fixes (⌘.) offers the fixes TypeScript knows.
- Go to definition (F12, or ⌘-click) and Find references (⇧F12) can open other files. ⌥← and ⌥→ go back and forward between the places you jumped to.
- Outline, on the toolbar, lists the file's declarations.
A folder with more than 2,000 source files and no tsconfig.json or jsconfig.json gets no code understanding. Add one to choose which files to analyze.
Explain a file
A model can explain a code file for someone who doesn't read code. Open the File actions menu (⋯) and choose one of these views. Code goes back to the file.
- Plain English
- A short note beside each statement that says what it does.
- Walkthrough
- The file in parts, each with a title, an explanation, and its code with the same notes. A part lists the other files that use it, under Used by.
- Diagram
- The file's flow as boxes and arrows. Click a box for more detail and a link to its lines.
The explanation names the model that wrote it. In a thread or a task, the conversation's own agent explains the file, with the model chosen under Text generation in Settings → Memory & models. With text generation off, the view says so. The file's text goes to that agent's provider, the same as when you name a thread.
OpenOrc keeps each explanation for the exact text it explained, so opening the file again shows it at once. If the file changed since, the view says The file changed since it was explained. and offers Explain again. A file can be explained when it has up to 2,000 lines and 160,000 characters. Markdown and plain text files have no explanations.
code-explanations folder inside OpenOrc's data folder, up to the 300 most recent. See Data and storage.Next steps
Checked against OpenOrc's source on November 9, 2026.