DocsWorking with sessions

Explorer & editor

The Explorer tab is a file browser and code editor scoped to the session's git worktree. Switch to it with ⌘3 is Cmd on macOS, Ctrl on Windows and Linux.

The tab splits into two resizable panes: a file tree on the left and a Monaco editor on the right.

The Explorer tab: the worktree file tree on the left, the Monaco editor with an open file on the right.

Browse the file tree

The left pane lists everything in the session's worktree. Folders appear first, then files in case-insensitive alphabetical order, and the .git folder is hidden.

  • Click a folder row to expand it. Contents load lazily on first expand — you'll see a brief spinner — then stay cached so re-expanding is instant.
  • The cache refreshes quietly in the background after agent turns and git operations, so the tree keeps up with the changes the agent makes without a manual refresh.
  • Click a file to open it in the editor; its worktree-relative path shows in the editor toolbar.

The tree is read-only: there are no New File or Delete actions. New files come from saving to a path in the editor (the parent folder must already exist); deletion is done from a terminal or your usual tools. If no session is started yet, the tree shows No worktree yet — start the session to populate it.

Edit and save files

Open a file and type to edit it. Syntax highlighting is automatic, detected from the filename and extension — the editor covers around 90 languages (see Supported languages below).

When you have unsaved changes, a small amber dot appears next to the file path in the toolbar. Save with ⌘S or the Save button. If a read or save fails, a red error bar explains why.

Unsaved edits live only in memory. If you switch files or close the app without saving, the changes are lost — there is no auto-save.

If you click another file while the current one has unsaved changes, a confirmation dialog asks whether to discard them — cancel to keep editing. The editor's colors follow the app's light/dark theme and update the moment you change it in Settings.

Supported languages

Highlighting comes from the Monaco engine the editor is built on, which bundles around 90 languages. Plexus picks the right one automatically from the filename and extension — files like Dockerfile are matched by name, no extension needed — so you never set a language by hand.

CategoryLanguages
Web & markupHTML, CSS, SCSS, Less, JavaScript, TypeScript, Vue, JSON, GraphQL, XML, Markdown, Pug, Handlebars
Systems & compiledC, C++, C#, Rust, Go, Swift, Objective-C, WGSL
JVM & scriptingJava, Kotlin, Scala, Python, Ruby, PHP, Perl, Lua, R, Dart, Elixir, Clojure, F#, Julia
Shell, data & configShell / Bash, PowerShell, Batch, Dockerfile, YAML, TOML, INI, HCL, Protobuf, SQL (MySQL, PostgreSQL, Redshift)

The table covers the common ones; the full set is whatever Monaco ships. A file Monaco doesn't recognize opens as plain text — still fully editable, just without coloring. The Review tab highlights a focused subset of these in its diffs.

Preview Markdown

Open a Markdown file (.md, .markdown, .mdown, .mkd) and three view buttons appear above the editor:

ViewShows
SourceThe raw Markdown
PreviewThe rendered HTML
SplitSource on the left, live preview on the right

In Split view the preview reflects your unsaved edits as you type, so you see the rendered result before saving. Relative links and images resolve against the worktree, and external links open in your browser. The view resets to Source when you open a different file.

Limits and unsupported files

SituationWhat you see
File larger than 1 MBA File too large notice with the byte size, instead of the editor
Binary file (contains null bytes)A Binary file notice — it can't be shown or edited

These limits keep the editor responsive and apply to the Markdown preview as well.

Layout

Drag the divider between the tree and the editor to resize the panes, and the divider between editor and preview in Split view. Pane sizes are remembered between visits.

The Explorer is for browsing and quick edits. To direct the agent doing the work, use the Agent tab; to review and stage the resulting changes, use the Git tab.