# The Cabinet of Unfinished Things

## OpenCode 2 for Desktop, in twelve drawers.

Reader, I keep a cabinet for things that have not quite happened.

Here is a velleity: an inclination too faint, as yet, to trouble the hands. Here is a midnight lucubration that began as a small improvement and has acquired seventeen dependencies. Here, filed beside a document marked FINAL, is another document marked FINAL, this one breathing rather hard.

The trouble is the clinamen. A little swerve; an unbidden deviation; suddenly the original plan is no longer the most interesting inhabitant of the room. Its successor requires accommodation. Preferably before somebody sets fire to the furniture.

The newest apparatus in this collection bears the name **OpenCode 2 for Desktop**. I have arranged its contrivances in twelve drawers: for retractions, parallel experiments, intelligible proceedings, and the recovery of work interrupted.

Take this enchiridion. You may handle the specimens. They are less delicate than their custodian.

<nav class="reading-prompts" aria-label="Choose a drawer">
<span class="thread-label">Choose a digression</span>
<a href="#change-direction-without-starting-over">I recant. What now? <span aria-hidden="true">↓</span></a>
<a href="#bring-the-preview-into-the-conversation">Let me see the thing itself. <span aria-hidden="true">↓</span></a>
<a href="#better-at-picking-work-back-up">Must interruption be oblivion? <span aria-hidden="true">↓</span></a>
</nav>

### Drawer I. The palinode, domesticated

I have reserved the first drawer for the palinode: the retraction of a former declaration. It is the busiest drawer in the cabinet. Its hinges have been reinforced.

“Actually, make it blue.” Four modest words; occasionally an entire afternoon of consequences.

**Steer** admits that correction into a running session without stopping the current task. **Queue** holds a follow-up in abeyance until its appointed opportunity. The pending thoughts sit above the message box, available for amendment, rearrangement, or quiet removal. Choose your customary delivery, and use the alternate action when a thought requires different treatment.

<!-- interactive:composer -->

<details class="recorded-demo" data-recording="composer">
<summary>Watch it in Desktop <span>4 seconds</span></summary>
<figure>
<video controls muted loop playsinline preload="none" poster="media/01-followups.jpg" src="media/01-followups.mp4" aria-label="Two follow-up messages are added to the queue above the composer."></video>
<figcaption>Two thoughts in abeyance, each with its proper place.</figcaption>
</figure>
</details>

The parerga—the subsidiary jobs attending the principal business—may proceed in the background. Long-running work need not occupy the whole audience chamber. Continue the conversation; visit a delegated session when its particulars require inspection.

### Drawer II. Permitted divarications

A project is seldom a single stem. It divaricates. One branch wants a different homepage; another has become obstinate about the signup. I decline to make them share a pot.

Worktrees supply separate working copies within the tabbed Desktop experience. Choose a starting branch, occupy an existing worktree, or move an ongoing session into one. While a new copy is being prepared, you may already be drafting its next instruction. An experiment ought to receive its own quarters before it develops territorial ambitions.

<figure>
<video controls muted loop playsinline preload="none" poster="media/02-worktrees.jpg" src="media/02-worktrees.mp4" aria-label="Choose New worktree, then select release as its starting branch."></video>
<figcaption>A divarication with a forwarding address.</figcaption>
</figure>

The housekeeping has its own ledger: startup scripts, a default starting location, worktrees with their linked sessions, and the means of clearing away what has served its purpose. Even an antiquarian must occasionally empty a drawer.

### Drawer III. The graduated conspectus

There are visitors who must inspect every pin. There are visitors who would prefer the beetle.

The timeline accommodates both temperaments. Its conspectus can be made as spare as **Messages only**, or as copious as **Everything**, with **Quiet**, **Compact**, and **Detailed** between them. Group the repeated activity, open a disclosure, or draw the veil over a category altogether. The proceedings acquire the degree of visibility you presently have the appetite to bear.

<!-- interactive:timeline -->

<details class="recorded-demo" data-recording="timeline">
<summary>Watch it in Desktop <span>3 seconds</span></summary>
<figure>
<video controls muted loop playsinline preload="none" poster="media/03-timeline.jpg" src="media/03-timeline.mp4" aria-label="Move the timeline detail slider through its presets and open the advanced controls."></video>
<figcaption>The conspectus, or every pin in the cabinet. Adjust to appetite.</figcaption>
</figure>
</details>

Related edits keep company. Running work, delegated tasks, failures, and completions declare their states more plainly. I approve of this dilucidity. A catalogue should permit inquiry without first requiring excavation.

### Drawer IV. A mechanical anamnesis

Somewhere in the conversation lies the exact shade of blue upon which everybody solemnly agreed. Everybody has forgotten it.

For this small failure of anamnesis, Desktop offers Find in session. Press **⌘F** or **Ctrl+F**, enter a phrase, and pass through the highlighted matches. The incriminating sentence returns to the light. The scrollbar is relieved of its former office as an instrument of penance.

<!-- interactive:search -->

<details class="recorded-demo" data-recording="search">
<summary>Watch it in Desktop <span>3 seconds</span></summary>
<figure>
<video controls muted loop playsinline preload="none" poster="media/04-search.jpg" src="media/04-search.mp4" aria-label="Find the word blue in a conversation and move between highlighted matches."></video>
<figcaption>Anamnesis, with the relevant passage illuminated.</figcaption>
</figure>
</details>

### Drawer V. An end to compulsory ekphrasis

I am fond of a description. I object to making every picture petition for admission in prose.

Bring the reference itself. The drop target extends across the session; there is no little aperture through which the specimen must be coaxed. Files may enter directly, with images and PDFs available when the chosen model supports them. Spare yourself the compulsory ekphrasis of a screenshot whose meaning is already visible.

<figure>
<video controls muted loop playsinline preload="none" poster="media/05-drop-files.jpg" src="media/05-drop-files.mp4" aria-label="Drag an image over the full-session drop target and attach it to the message."></video>
<figcaption>The specimen may present itself without a thousand-word covering letter.</figcaption>
</figure>

Image previews, local images in responses, and rendered diagrams give the visual particulars a proper place in the record. The cabinet has acquired windows as well as labels.

### Drawer VI. A viaticum for the conversation

An unfinished conversation occasionally has business elsewhere. I see no reason to send it travelling without provisions.

Export a session; import the saved conversation into a project from Desktop. It opens there, ready to be taken up again. A modest viaticum: the conversation packed for the journey, rather than left behind with the room key.

<figure>
<video controls muted loop playsinline preload="none" poster="media/06-import.jpg" src="media/06-import.mp4" aria-label="Choose Import session from a project menu, select a saved session, and open its conversation."></video>
<figcaption>A conversation furnished for travel.</figcaption>
</figure>

Home supplies the everyday offices of the collection: renaming, exporting, and deleting sessions. There is an art to retention. There is also an art to admitting that a particular jar now contains only dust.

### Drawer VII. The cabinet exhibits its hinges

Administrative spissitude is the peculiar density attained when too many small decisions are crammed into too little furniture. I have encountered cupboards from which a font preference could be extracted only with tongs.

Settings now occupy a full-page home. Appearance, notifications, shortcuts, projects, worktrees, providers, models, and extensions have clearer places of their own. The hinges, as promised, are on display.

For lengthy titles and numerous undertakings, **experimental vertical tabs** arrange the sessions down the side. A cramped procession becomes a legible column. The reader may consult the labels without developing a squint.

<figure>
<video controls muted loop playsinline preload="none" poster="media/07-vertical-tabs.jpg" src="media/07-vertical-tabs.mp4" aria-label="Enable experimental vertical tabs, then return to a session with its tabs in the sidebar."></video>
<figcaption>Long titles acquire their due elbow-room. Available in Experimental settings.</figcaption>
</figure>

### Drawer VIII. An autoptic interlude

Thus far we have discussed the thing. I should now like to see it.

The **experimental in-app browser** provides an autoptic interlude: evidence obtained by looking for oneself. Open the page in a tab beside the conversation. Try its buttons and forms. Let the agent navigate and inspect it as the work proceeds. The description and its object are at last in the same room; discrepancies have fewer places to hide.

<figure>
<video controls muted loop playsinline preload="none" poster="media/09-browser.jpg" src="media/09-browser.mp4" aria-label="Use Desktop’s experimental browser to open a notebook in the Fieldnotes preview and enter a note."></video>
<figcaption>Autoptic evidence, obtained inside Desktop. Available in Experimental settings.</figcaption>
</figure>

### Drawer IX. A defence of celerity

There is a species of delay too small for indignation and too frequent for forgiveness. A blank interval here; a belated response to the fingers there. By evening, the little intervals have formed a committee.

This release attends to that committee. Conversations appear with less waiting when opened or switched. Streaming responses and large changes entail less repeated work. Long drafts and great boluses of pasted text are saved more efficiently. Inactive tabs do less unnecessary business, and reconnection provokes fewer competing requests.

There are fixes, too, for memory exhausted by large pastes, for wandering scroll positions, for blank waits and misplaced panel state. These are the lesser courtesies by which celerity becomes perceptible. I prefer a well-oiled hinge to a speech about hinges.

### Drawer X. After the lacuna

My more funereal colleagues prepare exequies for every interruption. I prefer to leave a marker in the folio.

Desktop catches up when the connection returns or the app comes back into focus. V2 can resume in-flight work after a background-service restart or crash, recover background tasks, and continue after some interrupted model responses. The lacuna need not consume the whole afternoon.

A task you deliberately stop stays stopped. There is no virtue in a revenant that has been specifically asked to leave.

Long conversations receive more careful handling as they are condensed, with fixes that preserve important session details. The compendium should carry forward what the next reader needs, not merely look handsome on the shelf.

### Drawer XI. The cabinet in duodecimo

A collection consulted from a coat-pocket must learn the manners of a small book.

The mobile web experience has received its own rebinding: full-width conversation, Changes, and Files views; actions brought within reach; and slide-up panels for session details and status. Each part occupies the little page in turn, instead of elbowing its neighbours into illegibility.

<figure class="mobile-demo">
<video controls muted loop playsinline preload="none" poster="media/08-mobile.jpg" src="media/08-mobile.mp4" aria-label="Open session details from the mobile menu in a slide-up panel."></video>
<figcaption>In smaller compass, with the particulars still at hand.</figcaption>
</figure>

Touch controls, change review, line wrapping, the on-screen keyboard, and iPhone spacing have been attended to. The home-screen web app can reopen at the last page you visited, with more reliable cached startup assets and updates. A bookmark is a small invention. I remain an enthusiast.

### Drawer XII. Paralipomena, lest they escape

The small specimens are the easiest to overlook. Hence the pin, the label, and these paralipomena:

- A wider company of providers, better discovery of local models, a refined model picker, and clearer notices when the model changes.
- Skills within the command menu; clearer views of extensions belonging to a project and those shared among projects.
- Project instructions and customizations that can refresh while the work proceeds.
- A choice of third-party web search provider, including the perfectly respectable choice to leave search off.
- Better file navigation, right-click actions, horizontal scrolling, and changes distinguished down to the word.
- A terminal panel permitted to sit at your elbow or at the foot of your work.
- More dependable notifications and passage between windows, with native-window, zoom, keyboard, and WSL fixes.
- Clearer migration progress and more reliable updates: less uncertainty about what is being carried into the new quarters.
- Better right-to-left text support, and Hebrew added to the interface languages.

OpenCode remains open source. The model remains yours to choose.

That concludes the inventory, though not, I trust, the work. The thirteenth drawer is empty. I have labelled it **YET**.

**Bring the first idea. Reserve the right to recant.**
