stablyai / stablyai/orca

[Bug]: Devin session history never appears on Windows — scanner uses Linux-only transcript path with no platform fallback

Open
#15,768 1 comment 0 reactions 1 assignee Claimed by @brennanb2025 View on GitHub
bug os:Windows
Dominant language
TypeScript
Stars
69.7k
Forks
4.5k
Avg merge
15h 28m
Merged PRs (30d)
471

Description

### Operating system

Windows

### Orca version

_No response_

### Details

Summary

Devin sessions never appear in the Agent Session History tabs (Workspace / Project / All) on Windows, while Claude Code, Codex, and Grok Build appear correctly. The Devin session parser exists and works correctly —the bug is purely that the transcript directory is resolved to a Linux-only path on all platforms, with no Windows or macOS fallback and no Settings UI to override it.

Environment

• Orca version: 1.4.186
• OS: Windows 10
• Devin CLI version: 3000.4.25 (installs transcripts at %APPDATA%\devin\cli\transcripts)

Root cause

In the session scanner (session-scanner-antigravity-history chunk), the Devin transcripts directory is computed as:

var DEVIN_TRANSCRIPTS_DIR = path.join(
process.env.DEVIN_HOME?.trim() || path.join(homedir(), ".local", "share", "devin", "cli"),
"transcripts"
);

The fallback ~/.local/share/devin/cli is the Linux XDG convention and is used on all platforms — there is no process.platform === 'win32' branch to redirect to %APPDATA%\devin\cli, and no macOS branch for ~/Librar
y/Application Support/devin/cli.

On Windows this resolves to C:\Users\\.local\share\devin\cli\transcripts, which does not exist. The Devin CLI on Windows writes transcripts to C:\Users\\AppData\Roaming\devin\cli\transcripts. As a
result, the scanner finds zero files and the Devin history tab is always empty.

Other agents (Claude Code, Codex, Grok) work on Windows because their scanners either use platform-agnostic paths (~/.claude, ~/.codex) or have Windows-aware directory resolution. Devin appears to have been missed.

No user-facing override

The AI_VAULT_AGENT_SOURCES.devin entry accepts an internal devinTranscriptsDir option:

devin: {
rootDirs: (options, wslHomeDirs) => sessionRootDirs(
options.devinTranscriptsDir ?? DEVIN_TRANSCRIPTS_DIR,
wslHomeDirs,
[".local", "share", "devin", "cli", "transcripts"]
),
extensions: [".json"]
},

However, devinTranscriptsDir is never populated from any Settings UI field or config file — it is effectively dead. The only user-facing lever is the undocumented DEVIN_HOME environment variable, which most users
will never discover.

Workaround

Setting DEVIN_HOME to the Windows Devin CLI data directory makes history appear:

setx DEVIN_HOME "%APPDATA%\devin\cli"

Then fully restart Orca (quit from tray, relaunch). This confirms the parser itself is correct — it is purely a path resolution bug.

Suggested fix

Add platform-aware default paths for Devin transcripts, mirroring how other agents are handled, e.g.:

• Windows: %APPDATA%\devin\cli\transcripts
• macOS: ~/Library/Application Support/devin/cli/transcripts
• Linux: ~/.local/share/devin/cli/transcripts (current default)

Additionally, wiring devinTranscriptsDir to a Settings UI field would give users a fallback when the auto-detected path is wrong, and would bring Devin in line with the configurability the binary-path setting
already provides for launching agents.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.