Cline VS Code extension and Cline home-data task storage.
Sessions from the Cline command-line agent use an unrelated layout and are handled by Cline CLI; this provider does not see them.
- Source:
src/providers/cline.ts - Loading: eager (
src/providers/index.ts:2) - Test:
tests/providers/cline.test.ts
These task roots are scanned:
- VS Code extension globalStorage for
saoudrizwan.claude-dev, in every supported VS Code variant: stable (Code), Insiders (Code - Insiders), and VSCodium. The per-platform paths come fromgetVSCodeGlobalStoragePathsinsrc/providers/vscode-cline-parser.ts, the same helper KiloCode uses. - Cline's home-data root at
~/.cline/data.
Every root is expected to contain a tasks/ child directory. Discovery is delegated to discoverClineTasks in src/providers/vscode-cline-parser.ts, so a task is only included when it has a ui_messages.json file.
Per-task directories with:
tasks/<taskId>/
ui_messages.json
api_conversation_history.json
task_metadata.json
ui_messages.json provides the api_req_started usage entries. api_conversation_history.json is used for model extraction. See vscode-cline-parser for the full schema description.
task_metadata.json is part of Cline's task layout but is not read by CodeBurn today.
None at the provider level; delegates to the shared helper and normal parser/cache layers.
Discovery deduplicates by task id across all Cline roots so a task that exists in more than one root (a migration, or the same extension storage seen by two VS Code variants) is not scanned twice. If the same task id exists in multiple roots, the one with the newest ui_messages.json wins. Parsing still uses the shared per-call key: <providerName>:<taskId>:<index>.
- This provider is intentionally a thin wrapper over the shared Cline-family parser.
- Cline can keep data in both VS Code globalStorage and
~/.cline/data, depending on version and workflow. - A user can run Cline in VS Code stable, Insiders, and VSCodium at the same time; each variant has its own globalStorage tree, so all of them must be scanned.
- If Cline changes the JSON shape, fix
vscode-cline-parser.tsonly if KiloCode and IBM Bob still pass. Branch provider-specific parsing rather than duplicating the whole parser.
- Reproduce with a minimal task directory containing
ui_messages.jsonandapi_conversation_history.json. - Run
tests/providers/cline.test.ts, plustests/providers/kilo-code.test.tsandtests/providers/ibm-bob.test.tsif the shared parser changes. - Keep the provider name
cline; downstream filters and dedup keys depend on it.