[Skip to content](https://github.com/anthropics/claude-code/issues/54138#start-of-content)

You signed in with another tab or window. [Reload](https://github.com/anthropics/claude-code/issues/54138) to refresh your session.You signed out in another tab or window. [Reload](https://github.com/anthropics/claude-code/issues/54138) to refresh your session.You switched accounts on another tab or window. [Reload](https://github.com/anthropics/claude-code/issues/54138) to refresh your session.Dismiss alert

{{ message }}

### Uh oh!

There was an error while loading. [Please reload this page](https://github.com/anthropics/claude-code/issues/54138).

[anthropics](https://github.com/anthropics)/ **[claude-code](https://github.com/anthropics/claude-code)** Public

- [Notifications](https://github.com/login?return_to=%2Fanthropics%2Fclaude-code) You must be signed in to change notification settings
- [Fork\\
22.6k](https://github.com/login?return_to=%2Fanthropics%2Fclaude-code)
- [Star\\
140k](https://github.com/login?return_to=%2Fanthropics%2Fclaude-code)


# Cowork: artifacts folder hardcoded to Documents path, ignores selected project folder\#54138

New issue

Copy link

New issue

Copy link

Not planned

Not planned

[Cowork: artifacts folder hardcoded to Documents path, ignores selected project folder](https://github.com/anthropics/claude-code/issues/54138#top)#54138

Copy link

Labels

[area:cowork](https://github.com/anthropics/claude-code/issues?q=state%3Aopen%20label%3A%22area%3Acowork%22) [bugSomething isn't working](https://github.com/anthropics/claude-code/issues?q=state%3Aopen%20label%3A%22bug%22) Something isn't working [has reproHas detailed reproduction steps](https://github.com/anthropics/claude-code/issues?q=state%3Aopen%20label%3A%22has%20repro%22) Has detailed reproduction steps [platform:macosIssue specifically occurs on macOS](https://github.com/anthropics/claude-code/issues?q=state%3Aopen%20label%3A%22platform%3Amacos%22) Issue specifically occurs on macOS [staleIssue is inactive](https://github.com/anthropics/claude-code/issues?q=state%3Aopen%20label%3A%22stale%22) Issue is inactive

## Description

[![@johnwilkes808](https://avatars.githubusercontent.com/u/171836316?v=4&size=48)](https://github.com/johnwilkes808)

[johnwilkes808](https://github.com/johnwilkes808)

opened [on Apr 27on Apr 28, 2026](https://github.com/anthropics/claude-code/issues/54138#issue-4340027749)

Issue body actions

### Preflight Checklist

- I have searched [existing issues](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20state%3Aopen%20label%3Abug) and this hasn't been reported yet































This is a single bug report (please file separate reports for different bugs)































I am using the latest version of Claude Code




















To pick up a draggable item, press the space bar.
While dragging, use the arrow keys to move the item.
Press space again to drop the item in its new position, or press escape to cancel.



### What's Wrong?

Cowork always tries to mount the artifacts folder from ~/Documents/Claude/Artifacts/ regardless of which folder is selected for the project. The Documents folder is synced via OneDrive which is incompatible with virtiofs mounting. Even after updating claude\_desktop\_config.json to use Desktop paths and selecting a Desktop folder via "Use an existing folder", the error still references the Documents path.

### What Should Happen?

Cowork should mount the artifacts folder from the project folder location that was selected by the user, not a hardcoded Documents path.

### Error Messages/Logs

```
RPC error: failed to mount /mnt/.virtiofs-root/shared/Users/john.wilkes/Documents/Claude/Artifacts/cpe-amplitude-issues-tracker as .artifacts/cpe-amplitude-issues-tracker: source path does not exist and could not be created: /mnt/.virtiofs-root/shared/Users/john.wilkes/Documents/Claude/Artifacts/cpe-amplitude-issues-tracker: mkdir /mnt/.virtiofs-root/shared/Users/john.wilkes/Documents: file exists
```

### Steps to Reproduce

1. Have Documents folder synced via OneDrive on macOS
2. Open Cowork and create a new project using "Use an existing folder"
3. Select a folder on the Desktop (not in Documents)
4. Run any task
5. Mount error appears referencing the Documents path, not the selected Desktop path

### Claude Model

Sonnet (default)

### Is this a regression?

Yes, this worked in a previous version

### Last Working Version

1.4758.0 (fb266c)

### Claude Code Version

2.1.119 (Claude Desktop App)

### Platform

Anthropic API

### Operating System

macOS

### Terminal/Shell

Terminal.app (macOS)

### Additional Information

Related issues: [#42795](https://github.com/anthropics/claude-code/issues/42795), [#24134](https://github.com/anthropics/claude-code/issues/24134)

Attempted workarounds:

- Created folder manually via mkdir - did not resolve
- Copied files from Documents to Desktop - did not resolve
- Updated claude\_desktop\_config.json to use Desktop paths - did not resolve
- Created new project via "Use an existing folder" pointing to Desktop - did not resolve

The artifacts mount path appears to be hardcoded to Documents regardless of user configuration.

👍React with 👍2milsonian and rscottclift-ai

## Activity

[Next](https://github.com/anthropics/claude-code/issues/54138?timeline_page=1)

[![](https://avatars.githubusercontent.com/u/171836316?s=64&v=4)johnwilkes808](https://github.com/johnwilkes808)

added

[bugSomething isn't working](https://github.com/anthropics/claude-code/issues?q=state%3Aopen%20label%3A%22bug%22) Something isn't working

[on Apr 27on Apr 27, 2026](https://github.com/anthropics/claude-code/issues/54138#event-24929714097)

[![](https://avatars.githubusercontent.com/in/15368?s=64&v=4)github-actions](https://github.com/apps/github-actions)

added

[area:cowork](https://github.com/anthropics/claude-code/issues?q=state%3Aopen%20label%3A%22area%3Acowork%22)

[platform:macosIssue specifically occurs on macOS](https://github.com/anthropics/claude-code/issues?q=state%3Aopen%20label%3A%22platform%3Amacos%22) Issue specifically occurs on macOS

[has reproHas detailed reproduction steps](https://github.com/anthropics/claude-code/issues?q=state%3Aopen%20label%3A%22has%20repro%22) Has detailed reproduction steps

[on Apr 27on Apr 27, 2026](https://github.com/anthropics/claude-code/issues/54138#event-24929734794)

### github-actions commented on Apr 27on Apr 27, 2026

[![@github-actions](https://avatars.githubusercontent.com/in/15368?v=4&size=48)](https://github.com/apps/github-actions)

[github-actions](https://github.com/apps/github-actions) bot

[on Apr 27on Apr 27, 2026](https://github.com/anthropics/claude-code/issues/54138#issuecomment-4331816037) – with [GitHub Actions](https://help.github.com/en/actions)

More actions

Found 3 possible duplicate issues:

1. [\[BUG\] Cowork Live Artifacts hardcode ~/Documents/Claude/Artifacts as mount path, ignoring user-configured folder and breaking macOS privacy controls #52496](https://github.com/anthropics/claude-code/issues/52496)
2. [Cowork slash commands fail on corporate Macs where ~/Documents is a OneDrive symlink (virtiofs mount error) #52991](https://github.com/anthropics/claude-code/issues/52991)
3. [Claude Desktop Cowork fails with virtiofs mount error when ~/Documents is a symlink to OneDrive #52842](https://github.com/anthropics/claude-code/issues/52842)

This issue will be automatically closed as a duplicate in 3 days.

- If your issue is a duplicate, please close it and 👍 the existing issue instead
- To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with [Claude Code](https://claude.ai/code)

### milsonian commented on Apr 28on Apr 28, 2026

[![@milsonian](https://avatars.githubusercontent.com/u/5453172?u=93fad6c25b463e66d5eea01f390d5c784fe75206&v=4&size=48)](https://github.com/milsonian)

[milsonian](https://github.com/milsonian)

[on Apr 28on Apr 28, 2026](https://github.com/anthropics/claude-code/issues/54138#issuecomment-4337479723)

More actions

I have the same behavior, and this is specifically related to Live Artifacts triggering the condition in the linked issue so I believe could stand alone and is not duplicate.

[![](https://avatars.githubusercontent.com/in/15368?s=64&v=4)github-actions](https://github.com/apps/github-actions)

mentioned this in 2 issues [on Apr 28on Apr 28, 2026](https://github.com/anthropics/claude-code/issues/54138#event-6270980202)

- [\[BUG\] Cowork: VirtioFS mount fails with "operation not permitted" — all projects blocked, regression from previously-working state #54446](https://github.com/anthropics/claude-code/issues/54446)

- [\[FEATURE\] Cowork: deterministic VM filesystem mounts that survive Claude Desktop restart #54483](https://github.com/anthropics/claude-code/issues/54483)


[![](https://avatars.githubusercontent.com/u/263236336?s=64&v=4)rscottclift-ai](https://github.com/rscottclift-ai)

mentioned this [on May 8on May 8, 2026](https://github.com/anthropics/claude-code/issues/54138#event-6466613659)

- [\[FEATURE\] Allow configuring the Cowork workspace base path (Documents/Claude) #57177](https://github.com/anthropics/claude-code/issues/57177)


[![](https://avatars.githubusercontent.com/u/3164774?s=64&u=3f7533525b3c8a7968c220706bf9c04c956af149&v=4)lejacobroy](https://github.com/lejacobroy)

mentioned this [on May 11on May 11, 2026](https://github.com/anthropics/claude-code/issues/54138#event-6534073630)

- [\[FEATURE\] Cowork: allow configuring the storage location for scheduled tasks (currently hardcoded to ~/Documents/Claude/Scheduled/) #54859](https://github.com/anthropics/claude-code/issues/54859)


### lejacobroy commented on May 11on May 11, 2026

[![@lejacobroy](https://avatars.githubusercontent.com/u/3164774?u=3f7533525b3c8a7968c220706bf9c04c956af149&v=4&size=48)](https://github.com/lejacobroy)

[lejacobroy](https://github.com/lejacobroy)

[on May 11on May 11, 2026](https://github.com/anthropics/claude-code/issues/54138#issuecomment-4424941559)

More actions

# Proposal: configurable Cowork workspace paths (consolidates [\#57177](https://github.com/anthropics/claude-code/issues/57177), [\#54859](https://github.com/anthropics/claude-code/issues/54859), [\#54138](https://github.com/anthropics/claude-code/issues/54138), [\#52496](https://github.com/anthropics/claude-code/issues/52496))

## Root cause (shared across all four issues)

Claude Desktop / Cowork resolves three storage roots from a single hardcoded base, `~/Documents/Claude/`:

- `~/Documents/Claude/` — Cowork workspace base
- `~/Documents/Claude/Artifacts/` — Live Artifacts mount source
- `~/Documents/Claude/Scheduled/` — scheduled task definitions

There is no user-facing setting and no `claude_desktop_config.json` field to override any of these. The result is a class of failures on otherwise-supported setups: macOS TCC denial on `~/Documents`, OneDrive-synced Documents on macOS/Windows, Windows Documents redirected to `D:\`, MDM-restricted corporate Macs, and user folders kept outside `~/Documents` by preference.

## Proposed fix

### 1\. New default location (no config required)

Move the canonical storage out of the TCC-gated, user-redirectable Documents folder:

- macOS: `~/Library/Application Support/Claude/Cowork/`
- Windows: `%APPDATA%\Claude\Cowork\`
- Linux: `$XDG_DATA_HOME/Claude/Cowork/` (fallback `~/.local/share/Claude/Cowork/`)

This is consistent with where Claude Desktop already stores `vm_bundles/`, MCP configs, and other app state. It eliminates the TCC, OneDrive, and cross-drive failure modes without any user configuration.

### 2\. Single configurable base path in `claude_desktop_config.json`

```
{
  "cowork": {
    "workspaceRoot": "~/Documents/Systems/Claude",
    "artifactsRoot": "~/Documents/Systems/Claude/Artifacts",
    "scheduledTasksRoot": "~/Documents/Systems/Claude/Scheduled"
  }
}
```

Resolution rules:

- If `cowork.workspaceRoot` is set and the sub-roots are not, derive `artifactsRoot` and `scheduledTasksRoot` as `<workspaceRoot>/Artifacts` and `<workspaceRoot>/Scheduled`.
- Any sub-root explicitly set overrides the derived value.
- `~` and environment variables (`$HOME`, `%USERPROFILE%`, `%APPDATA%`) are expanded.
- Paths are validated at startup: must be writable, must not cross a virtiofs-incompatible mount (OneDrive/iCloud Drive cloud-only files, cross-drive on Windows). On failure, fall back to the default and surface a one-time notification.

### 3\. Equivalent UI setting

Settings → Cowork → "Workspace location" with a folder picker, writing to the same config field. UI and config must be a single source of truth.

### 4\. Per-session override (fixes [\#54138](https://github.com/anthropics/claude-code/issues/54138), [\#52496](https://github.com/anthropics/claude-code/issues/52496))

When the user selects a project folder via "Use an existing folder", Artifacts and any per-session storage MUST mount relative to that folder (e.g. `<sessionFolder>/.claude-artifacts/`), not the global `artifactsRoot`. The global root is only used for sessions without a selected folder.

### 5\. Migration

On first launch after the change:

- If `~/Documents/Claude/` exists and the new default location does not, move contents and leave a symlink at the old path for backward compatibility.
- If the user has set `cowork.workspaceRoot`, migrate to that location instead.
- Existing `scheduled-tasks.json` entries with absolute `filePath` values are rewritten to point at the new location.

## Why one PR instead of four fixes

The four issues are symptoms of one architectural choice (hardcoded base under a TCC/cloud-sync-prone folder with no override). Fixing each surface independently leaves the other three reachable through different code paths. A single resolution layer that reads `claude_desktop_config.json`, falls back to the platform-appropriate app-data location, and honours per-session folder selection closes all four.

## Acceptance criteria

- Default install on macOS with Documents access denied → Cowork, Scheduled tasks, and Artifacts all work.
- Windows with Documents redirected to `D:\` → same.
- macOS or Windows with OneDrive-synced Documents → same.
- User sets `cowork.workspaceRoot` to an arbitrary path → all three storage areas land under it.
- User opens a session with "Use an existing folder" → Artifacts mount inside the selected folder, not the global root.
- Existing users with content at `~/Documents/Claude/` see no data loss after upgrade.

[![](https://avatars.githubusercontent.com/u/263236336?s=64&v=4)rscottclift-ai](https://github.com/rscottclift-ai)

mentioned this [on May 14on May 14, 2026](https://github.com/anthropics/claude-code/issues/54138#event-6614083151)

- [\[FEATURE\] Cowork artifacts should not be auto-pinned; add option to create artifacts unpinned #59087](https://github.com/anthropics/claude-code/issues/59087)


[![](https://avatars.githubusercontent.com/in/15368?s=64&v=4)github-actions](https://github.com/apps/github-actions)

added

[staleIssue is inactive](https://github.com/anthropics/claude-code/issues?q=state%3Aopen%20label%3A%22stale%22) Issue is inactive

[on May 27on May 27, 2026](https://github.com/anthropics/claude-code/issues/54138#event-26011874938)

[![](https://avatars.githubusercontent.com/u/288957005?s=64&v=4)jessiefqy-blip](https://github.com/jessiefqy-blip)

mentioned this [on May 29on May 29, 2026](https://github.com/anthropics/claude-code/issues/54138#event-6997085467)

- [\[BUG\] Default route in Settings not applied when starting a new project #63658](https://github.com/anthropics/claude-code/issues/63658)


### lejacobroy commented on Jun 1on Jun 1, 2026

[![@lejacobroy](https://avatars.githubusercontent.com/u/3164774?u=3f7533525b3c8a7968c220706bf9c04c956af149&v=4&size=48)](https://github.com/lejacobroy)

[lejacobroy](https://github.com/lejacobroy)

[on Jun 1on Jun 1, 2026](https://github.com/anthropics/claude-code/issues/54138#issuecomment-4595553088)

More actions

This is fixed in the latest version, thank you!

### 22 remaining items

Load more

Loading

[Sign up for free](https://github.com/signup?return_to=https://github.com/anthropics/claude-code/issues/54138)**to join this conversation on GitHub.** Already have an account? [Sign in to comment](https://github.com/login?return_to=https://github.com/anthropics/claude-code/issues/54138)

## Metadata

## Metadata

### Assignees

No one assigned

### Labels

[area:cowork](https://github.com/anthropics/claude-code/issues?q=state%3Aopen%20label%3A%22area%3Acowork%22) [bugSomething isn't working](https://github.com/anthropics/claude-code/issues?q=state%3Aopen%20label%3A%22bug%22) Something isn't working [has reproHas detailed reproduction steps](https://github.com/anthropics/claude-code/issues?q=state%3Aopen%20label%3A%22has%20repro%22) Has detailed reproduction steps [platform:macosIssue specifically occurs on macOS](https://github.com/anthropics/claude-code/issues?q=state%3Aopen%20label%3A%22platform%3Amacos%22) Issue specifically occurs on macOS [staleIssue is inactive](https://github.com/anthropics/claude-code/issues?q=state%3Aopen%20label%3A%22stale%22) Issue is inactive

### Type

No type

### Projects

No projects

### Milestone

No milestone

### Relationships

None yet

### Development

No branches or pull requests

### Participants

[![@lejacobroy](https://avatars.githubusercontent.com/u/3164774?s=64&u=3f7533525b3c8a7968c220706bf9c04c956af149&v=4)](https://github.com/lejacobroy)[![@milsonian](https://avatars.githubusercontent.com/u/5453172?s=64&u=93fad6c25b463e66d5eea01f390d5c784fe75206&v=4)](https://github.com/milsonian)[![@johnwilkes808](https://avatars.githubusercontent.com/u/171836316?s=64&v=4)](https://github.com/johnwilkes808)

## Issue actions

- ![](https://github.githubassets.com/assets/github-copilot-app-light-7138e992c731a2bb.png)Open in GitHub Copilot app

You can’t perform that action at this time.