diff --git a/2-outline/claude-virtual-filesystem-guide.md b/2-outline/claude-virtual-filesystem-guide.md
index 3385f81..27ca821 100644
--- a/2-outline/claude-virtual-filesystem-guide.md
+++ b/2-outline/claude-virtual-filesystem-guide.md
@@ -4,11 +4,13 @@ title: "Inside Claude's Sandbox: What Happens When Claude Creates a File"
author: henry
status: outline
created: 2024-12-25
-updated: 2024-12-25
+updated: 2026-01-06
content_type: debugging-story
primary_keyword: "claude file creation"
secondary_keywords: ["claude sandbox", "claude mcp filesystem", "claude outputs folder", "claude virtual filesystem"]
+
+assets_folder: assets/claude-virtual-filesystem-guide/
---
# Brief
@@ -233,248 +235,276 @@ Key style points from Henry's guide:
---
-### Opening (120-150 words)
+### Opening
-**Purpose:** Hook reader with professional curiosity, promise deep understanding
-
-**Approach:** First-person exploration angle. Henry digs deeper because he wants to understand the system, not because he's lost.
-
-**Must include:**
-- Moment of curiosity (found file easily, but wanted to understand the system)
-- Professional interest signal — "how does this actually work?"
-- Promise: "Here's what I discovered when I mapped the whole thing."
-
-**Hook angle (Option A — curiosity):**
-> "Claude created the file. I found it in the sidebar in 5 seconds. But then I wondered — where is it physically? What's the filesystem structure inside? I went exploring."
-
-**Hook angle (Option B — scaling up):**
-> "When you start working with Claude on real projects, you eventually hit the question: how exactly is its filesystem organized? I decided to figure it out."
+**Hook:**
+> Did you know that every Claude conversation has its own sandbox container with a filesystem and persistent volumes? Understanding how they work and how Claude uses them gives you a significant advantage when working with this AI. While this is an internal part hidden under the hood, knowing how to work with it makes you more effective — and in some cases saves your time and work results.
**Transition:** "Let me show you what's actually happening under the hood."
---
-### H2: The Quick Answer (80-100 words)
+### H2: The Filesystem Structure
-**Purpose:** Give impatient readers the core answer immediately
+**Purpose:** Show key directories and their purposes immediately
-**Must cover:**
-- Claude runs in Ubuntu sandbox container
-- Key path: `/mnt/user-data/outputs/` = sidebar downloads
-- `/home/claude/` = temp workspace (disappears)
-
-**Structure:**
-1. One-liner: where files actually go
-2. Why some files "disappear"
-3. Tease: "But there's more to it. Let me show you the full map."
-
-**Note:** This follows Henry's "don't bury the lede" principle.
-
----
-
-### H2: The Filesystem Map (200-250 words)
-
-**Purpose:** Complete reference of sandbox structure
-
-**Must cover:**
-- `/mnt/user-data/uploads/` — your uploaded files
-- `/mnt/user-data/outputs/` — files that appear in sidebar
-- `/home/claude/` — temp working directory
-- `/mnt/skills/` — Claude's built-in capabilities
-- Note: `/mnt/project/` for Projects feature
-
-**Structure:**
-1. Brief intro: "Here's the full structure I mapped out."
-2. Table with 4-5 key directories
-3. Key insight: only `/mnt/user-data/outputs/` = downloadable
-
-**Table format:**
-| Path | What's there | Persists? |
-|------|--------------|-----------||
-| `/mnt/user-data/uploads/` | Your uploaded files | Session |
-| `/mnt/user-data/outputs/` | Files for download | Session |
-| `/home/claude/` | Claude's workspace | ❌ No |
+**Table:**
+| Path | Contents | Persistence |
+|------|----------|-------------|
+| `/mnt/user-data/uploads/` | Files uploaded by user | Persistent |
+| `/mnt/user-data/outputs/` | Downloadable files visible in sidebar | Persistent |
+| `/home/claude/` | Claude's workspace | ⚠️ No guarantee of long-term persistence |
| `/mnt/skills/` | Built-in capabilities | Read-only |
-**Code example:**
-```
-view /mnt/user-data/
-```
-Shows: uploads/, outputs/ structure
-
-**Transition:** "So why do files sometimes not appear in your sidebar?"
+**Pro Tip (callout box):**
+> Files in `/home/claude/` can also be opened in the sidebar — just click on the file in the chat where tool output is displayed (file creation or editing).
---
-### H2: The Problem: Where Did My File Go? (150-180 words)
+### H2: What Happens When Claude Creates a File
-**Purpose:** Explain the common frustration point
+**Purpose:** Explain the two-step process
-**Must cover:**
-- Claude sometimes creates in `/home/claude/` (temp, not visible)
-- Files there won't appear in sidebar
-- Claude "forgets" to move to outputs
-- Second issue: Filesystem MCP confusion (Claude Desktop)
+**Steps:**
+1. Claude creates the file in `/home/claude/`
+2. Claude copies it to `/mnt/user-data/outputs/`
-**Structure:**
-1. The problem: Claude creates file in wrong place
-2. Why it happens: `/home/claude/` is default working dir
-3. Extra confusion: MCP vs sandbox (brief mention)
-
-**Key insight:**
-> "Claude's sandbox resets between conversations. If a file is in `/home/claude/` and you close the chat — it's gone."
-
-**⚠️ TODO:** Verify this claim with testing. Need to confirm sandbox reset behavior.
-
-**Transition:** "Here's how to make sure your files end up where you can actually get them."
+**Key insight:** There are actually TWO copies of the file.
---
-### H2: The Fix: How to Direct Claude (150-200 words)
+### H2: Common Problems and How to Solve Them
-**Purpose:** Give actionable solution
+**Disclaimer:** In simple scenarios Claude works well, but in more complex cases things may not go as planned. Don't panic about "where's my file?"
-**Must cover:**
-- Explicit instruction: "save to /mnt/user-data/outputs/"
-- Example prompts that work
-- For MCP users: specify "use filesystem MCP" vs sandbox
-
-**Structure:**
-1. What to say to Claude (prompt examples)
-2. For MCP users: disambiguation
-
-**Prompts that work:**
-```
-"Create the file and save it to /mnt/user-data/outputs/"
-```
-
-```
-"Copy this file to /mnt/user-data/outputs/"
-```
-
-```
-"Use filesystem MCP to save to ~/Projects/myapp/image.png"
-```
-
-**Transition:** "Now, which approach should you actually use?"
+**Problems covered:**
+- Claude created a file but didn't copy it to outputs
+- Claude edited the version in `/home/claude/` instead of `/mnt/user-data/outputs/`
+- How to see files you shared with Claude during the conversation
+- ⚠️ Warning: Files in `/mnt/user-data/` are persistent, but be careful with `/home/claude/` — files there may disappear after some time
---
-### H2: Two Strategies for File Workflows (200-250 words)
+### H2: Walkthrough — The File Lifecycle in Action
-**Purpose:** Help reader choose their approach based on workflow type
+> **@writer NOTE:** This section is a detailed walkthrough provided by Oleg. Transform into flowing narrative text while preserving ALL steps, observations, and warnings. The sequence and insights are essential — do not remove or reorder without approval. Screenshots are ready in assets folder.
-**Must cover:**
-- Strategy 1: Sandbox for iterative work
-- Strategy 2: MCP for automation
-- When to use each (clear criteria)
-
-**Structure:**
-
-**Strategy 1: Sandbox-first (iterative editing)**
-- Work in `/home/claude/` during conversation
-- Use `str_replace` tool for line-by-line edits
-- Copy to outputs when done
-- Pros: faster iteration, built-in editing tools, no filesystem noise
-- Cons: files not visible in sidebar until you copy them out
-- Best for: iterative work on a single file, multiple rounds of edits, refactoring
-
-**Strategy 2: MCP-first (automation)**
-- Claude saves directly to local filesystem via MCP
-- Pros: files persist immediately in your project, no extra step
-- Cons: no `str_replace` tool, requires MCP setup, Claude Desktop only
-- Best for: generating multiple files at once, scaffolding, automated workflows
-
-**Key difference to highlight:**
-> Sandbox has `str_replace` for precise line-by-line editing. MCP doesn't. Choose based on whether you need iteration or automation.
-
-**One-liner summary:**
-> "Sandbox for iteration. MCP for automation."
+**Purpose:** Demonstrate the full file lifecycle through a practical example — building a news compilation document.
---
-### H2: Try It Yourself (100-130 words)
+#### Step 1: Creating an Internal File
-**Purpose:** Reader engagement, verification
+**User prompt:**
+```
+Your task is to find and compile AI news into a single markdown document. Here's how we'll work:
-**Must cover:**
-- 3 quick commands to explore their own sandbox
-- What to look for
+**Workflow:**
+1. I give you a topic or search query
+2. You search the web, find relevant news, select the single best match, and append it to the document
+3. We repeat steps 1-2 until I say "done"
+4. You show me the complete document for final review
-**Exercises:**
-1. `"Show me view /mnt/user-data/"` — see your structure
-2. `"Create test.txt with 'hello' and show me where it went"` — test file creation
-3. `"List contents of /home/claude/"` — see temp workspace
+**Rules:**
+- Only one news item per search — pick the most relevant result
+- All items go into the same file (append, don't overwrite)
+- For each item include: headline, source, date, and a 2-3 sentence summary
-**Note:** Remind that this requires Pro+ plan.
+Let's start.
+
+Search for: the funniest AI news from the last two months
+```
+
+**Screenshot:** `screenshots/s1.png`
+
+**Key observation:** We deliberately did NOT specify where to create the file. We hinted that we plan to continue working with it and don't need it immediately. This simulates the scenario where Claude creates an internal working file without showing it to the user right away.
+
+**Result:** Claude creates `ai-news-compilation.md` in `/home/claude/`. The file is NOT visible in the sidebar.
---
-### H2: Project Instructions for File Handling (150-180 words)
+#### Step 2: Appending More Content
-**Purpose:** Give readers ready-to-use instructions they can add to Claude Projects
-
-**Must cover:**
-- Example instruction for sandbox-first workflow
-- Example instruction for MCP-first workflow
-- How to specify which tool to use
-
-**Example 1 — Sandbox-first (for iterative work):**
+**User prompt:**
```
-File handling:
-- Work with files in /home/claude/ during conversation
-- Use str_replace for edits
-- Copy final versions to /mnt/user-data/outputs/ before finishing
+Now find the most important news about AI image generation for the last two months
```
-**Example 2 — MCP-first (for automation):**
-```
-File handling:
-- Use filesystem MCP to save files directly to project directory
-- Do not use sandbox for file operations
-- Save to: ~/Projects/[project-name]/
-```
+**Screenshot:** `screenshots/s2.png`
-**Example 3 — Hybrid (explicit routing):**
-```
-File handling:
-- For iterative editing: use sandbox + str_replace, copy to outputs when done
-- For generating new files: use filesystem MCP to save directly to ~/Projects/
-- Always confirm which method before creating files
-```
-
-**Note:** These go in Project Instructions or system prompt.
+**Key observation:** The file is still not visible in sidebar, but we can see Claude continues working with it using the `str_replace` tool (for editing/appending content).
---
-### Callout Box: Artifacts ≠ Files (60-80 words)
+#### Step 3: Viewing the Internal File (Option 1 — Click in Tool Output)
-**Purpose:** Address common terminology confusion
+**Question:** What if we want to see the file contents at this point?
-**Placement:** As sidebar/callout, possibly after "The Fix" or near end
+**Option 1:** Click on the filename in the tool output within the chat.
-**Must clarify:**
-- Artifacts: interactive previews (HTML, React, SVG) — render in sidebar
-- Files: actual downloadable documents (.docx, .xlsx, .pdf)
-- Different features, different behavior
+**Screenshot:** `screenshots/s3.png` — Arrow pointing to clickable filename in tool output
+
+**Result:** The file opens in the sidebar preview panel.
+
+**Screenshot:** `screenshots/s4.png` — File content visible, but NOT in sidebar file list
+
+**Key observation:** The file opens and we can read its contents. However, it does NOT appear in the sidebar's file list — it's just a preview.
+
+**⚠️ Warning:** Files in the internal sandbox (`/home/claude/`) are NOT persistent. They may be deleted when the container times out or the session ends. Be careful!
---
-### Closing (80-100 words)
+#### Step 4: Moving File to Outputs (Option 2 — Make Persistent)
+
+**User prompt:**
+```
+move this file to /mnt/user-data/outputs/
+```
+
+**Screenshot:** `screenshots/s5.png`
+
+**Result:** Claude uses bash tool with `mv /home/claude/ai-news-compilation.md /mnt/user-data/outputs/`. The file now appears in the sidebar's Artifacts list and is available for download.
+
+**Key observation:** Since we MOVED (not copied) the file, Claude now has only ONE file to work with — in the outputs directory. We can continue adding news and see changes immediately in the sidebar.
+
+---
+
+#### Step 5: Continue Working (Happy Path)
+
+**User prompt:**
+```
+Find the biggest Open Source AI related release for the last two months
+```
+
+**Result:** Claude appends to the same file. Since the file is now in `/mnt/user-data/outputs/`, changes are visible immediately in the sidebar.
+
+---
+
+#### Interlude: Understanding `present_files` Tool
+
+**Important concept:** Claude has a `present_files` tool for finalizing work on a file. This is what Claude uses by default when completing work. It does the following:
+
+1. **Copies** the file to `/mnt/user-data/outputs/`
+2. Opens it immediately in the sidebar preview
+3. Signals to Claude that work on this file is "complete" (though further modifications are still possible)
+
+**The catch:** After `present_files`, there are now TWO copies of the file — one in `/home/claude/` and one in `/mnt/user-data/outputs/`.
+
+**Verify this yourself:**
+```
+view /home/claude
+```
+and
+```
+view /mnt/user-data/outputs/
+```
+
+---
+
+#### Step 6: The "Wrong File" Problem
+
+**User prompt:**
+```
+The next task is to find the most performant AI coding agent released for the last two months
+```
+
+**Screenshot:** `screenshots/s7-wrong-file-edited.png`
+
+**What happens:** Claude edits the file in `/home/claude/` (the working copy), NOT the one in `/mnt/user-data/outputs/`.
+
+**Result:** We see in the chat that Claude made changes, but the file in the sidebar remains unchanged. This is the moment for panic — but not for us. Now we understand what's happening.
+
+---
+
+#### Step 7: The Fix
+
+**User prompt:**
+```
+please move this file from /home/claude to /mnt/user-data/outputs/ (override the existing file)
+```
+
+**Screenshot:** `screenshots/s8.png`
+
+**Result:** Claude copies the updated file to outputs, overwriting the old version. The sidebar now shows all the news items including the latest addition.
+
+---
+
+#### Summary: What We Learned
+
+1. Claude creates working files in `/home/claude/` by default
+2. Files only appear in sidebar when in `/mnt/user-data/outputs/`
+3. You can view internal files by clicking on them in tool output
+4. `present_files` creates a COPY — resulting in two files
+5. Claude may edit the "wrong" file if duplicates exist
+6. Solution: explicitly move/copy to outputs when needed
+
+---
+
+### H2: Quick Reference — Tools and Commands
+
+**Purpose:** Hands-on reference for readers
+
+**Key tools Claude uses internally:**
+- `view` — view files and directory contents
+- `str_replace` — edit files by replacing text
+- `create_file` — create new files
+- `bash_tool` — execute shell commands (ls, cp, mv, cat, etc.)
+- `present_files` — make files available for download in sidebar
+
+**What readers should try (natural language prompts):**
+- "Show me what's in /mnt/user-data/" → triggers view
+- "Create a file test.txt with 'hello world'" → triggers create_file
+- "Run `ls -la /home/claude/`" → triggers bash
+- "Copy test.txt to /mnt/user-data/outputs/" → triggers bash (cp)
+- "Show me the file for download" → triggers present_files
+
+**Note:** Tool names are internal implementation details. Users interact via natural language — Claude picks the right tool automatically.
+
+**Reminder:** This requires Pro+ plan.
+
+---
+
+### H2: Two Strategies for File Workflows
+
+**Purpose:** Explain Filesystem MCP as an additional method for file storage on external disk
+
+**Strategy 1: Sandbox (built-in)**
+- Files stay in Claude's container
+- Pros: works out of the box, no setup needed
+- Cons: potential persistence issues in `/home/claude/`
+
+**Strategy 2: Filesystem MCP (external storage)**
+- Files saved directly to your local disk
+- Pros: true persistence, files in your project, version control
+- Cons: requires MCP setup, Claude Desktop only
+
+**Summary:** Sandbox for quick work, MCP for serious projects.
+
+---
+
+### H2: Fun Part — Experimenting
+
+**The Two-Tab Experiment:**
+1. Create a file with some text in Tab 1
+2. Open the same chat in Tab 2
+3. In Tab 2, ask to modify the file
+4. Return to Tab 1, ask to show file contents
+5. Contents match the changes from Tab 2
+6. Claude is surprised — he doesn't see the modification command in Tab 1's history
+
+→ Demonstrates that the sandbox is shared across all sessions of the same chat
+
+---
+
+### Closing
**Purpose:** Wrap up with practical takeaway
-**Approach:** Henry-style direct ending. No fluff.
+**Approach:** Henry-style direct ending. Short, no fluff.
**Must include:**
- One-sentence summary of key insight
-- Clear CTA (explore your sandbox)
-- Sign-off phrase
-
-**Draft closing:**
-> "That's it. Claude's sandbox isn't magic — it's just Ubuntu with a specific folder structure. Know the paths, and you'll never lose a file again."
->
-> "Now go explore your own sandbox. And maybe save that important file before you close the chat."
+- Clear CTA
---
@@ -482,45 +512,70 @@ File handling:
| Section | Words |
|---------|-------|
-| Opening | 130 |
-| The Quick Answer | 90 |
-| The Filesystem Map | 220 |
-| The Problem | 160 |
-| The Fix | 180 |
-| Two Strategies | 230 |
-| Try It Yourself | 110 |
-| Project Instructions | 160 |
-| Callout: Artifacts ≠ Files | 70 |
-| Closing | 90 |
-| **Total** | **~1440** |
+| Opening | 100 |
+| The Filesystem Structure | 150 |
+| What Happens When Claude Creates a File | 100 |
+| Common Problems and How to Solve Them | 150 |
+| **Walkthrough — The File Lifecycle in Action** | **450** |
+| Quick Reference — Tools and Commands | 100 |
+| Two Strategies for File Workflows | 150 |
+| Fun Part — Experimenting | 120 |
+| Closing | 80 |
+| **Total** | **~1400** |
*Target: 1200-1500 (debugging story range) ✓*
+> **Note:** Walkthrough section is longer due to code blocks and step-by-step format. Actual prose is ~300 words.
+
---
## Code Examples Plan
| Section | Type | Purpose | Lines |
|---------|------|---------|-------|
-| Filesystem Map | Command | Show structure | 1 |
-| Filesystem Map | Output | Example result | 4-5 |
-| The Fix | Prompt | Working instruction | 1 |
-| The Fix | Prompt | MCP instruction | 1 |
-| Try It Yourself | Commands | Reader exercises | 3 |
+| The Filesystem Structure | Command | `view /mnt/user-data/` | 1 |
+| The Filesystem Structure | Output | Directory listing | 4-5 |
+| What Happens When Claude Creates a File | Code | File creation flow | 2 |
+| Walkthrough Step 1 | Prompt | News compilation task prompt | 15 |
+| Walkthrough Step 2 | Prompt | Add more news | 1 |
+| Walkthrough Step 4 | Prompt | Move to outputs | 1 |
+| Walkthrough Interlude | Commands | view /home/claude, view outputs | 2 |
+| Walkthrough Step 6 | Prompt | Find coding agent news | 1 |
+| Walkthrough Step 7 | Prompt | Move with override | 1 |
+| Quick Reference | Commands | view, create, bash examples | 5-6 |
+| Fun Part — Experimenting | Prompt | Two-tab experiment steps | 3-4 |
-*Code ratio: ~15-20% (appropriate for debugging story)*
+*Code ratio: ~25-30% (appropriate for debugging story with walkthrough)*
---
## Visual Elements Plan
-| Element | Section | Description |
-|---------|---------|-------------|
-| Screenshot 1 | Filesystem Map | Output of `view /mnt/user-data/` |
-| Screenshot 2 | The Problem | File in sidebar (successful) |
-| Screenshot 3 | Try It Yourself | Optional: annotated sandbox structure |
-| Table | Filesystem Map | Directory reference |
-| Callout box | After The Fix | Artifacts vs Files clarification |
+| Element | Section | Description | File |
+|---------|---------|-------------|------|
+| Screenshot 1 | Walkthrough Step 1 | Claude creates internal file, not in sidebar | `s1.png` |
+| Screenshot 2 | Walkthrough Step 2 | str_replace tool editing file | `s2.png` |
+| Screenshot 3 | Walkthrough Step 3 | Clickable filename in tool output | `s3.png` |
+| Screenshot 4 | Walkthrough Step 3 | File preview open, not in file list | `s4.png` |
+| Screenshot 5 | Walkthrough Step 4 | File moved to outputs, visible in sidebar | `s5.png` |
+| Screenshot 6 | Walkthrough Step 6 | Wrong file edited problem | `s7-wrong-file-edited.png` |
+| Screenshot 7 | Walkthrough Step 7 | Fix — file moved/overwritten | `s8.png` |
+| Table | The Filesystem Structure | Directory reference (paths, contents, persistence) | — |
+
+### Screenshots Status
+
+All screenshots are ready in `assets/claude-virtual-filesystem-guide/screenshots/`:
+
+- [x] `s1.png` — Initial file creation
+- [x] `s2.png` — Appending with str_replace
+- [x] `s3.png` — Clickable filename (with arrow)
+- [x] `s4.png` — File preview vs file list
+- [x] `s5.png` — Move to outputs result
+- [x] `s6-present-files.png` — (available, not used in walkthrough)
+- [x] `s7-wrong-file-edited.png` — Wrong file edited
+- [x] `s8.png` — Fix applied
+
+**@writer:** Use relative paths like `screenshots/s1.png` when embedding images.
---
@@ -540,16 +595,55 @@ Before submitting draft:
- [ ] "Here's the thing..." or similar Henry phrase used
- [ ] All "Must include" items covered
- [ ] Word counts within range per section
-- [ ] Table in Filesystem Map section present
+- [ ] Table in The Filesystem Structure section present
- [ ] Code examples complete and accurate
-- [ ] Project Instructions section has 3 ready-to-use examples
-- [ ] Callout box for Artifacts/Files distinction included
+- [ ] Two-tab experiment clearly explained in Fun Part section
- [ ] Closing has practical CTA, no fluff
- [ ] First-person voice throughout
- [ ] No forbidden phrases (see Henry guide)
-- [ ] ⚠️ Sandbox reset claim verified before publishing
---
**Outline created:** 2024-12-25
**Ready for:** @writer
+
+---
+
+# Validation Request
+
+**Status:** Not required
+
+This article is a technical tutorial/debugging-story based on personal investigation. All claims are verified through hands-on testing, not external sources.
+
+**Technical claims verified by user (2026-01-06):**
+- Filesystem structure (/mnt/user-data/, /home/claude/)
+- File consistency across browser tabs
+- Two-tab experiment behavior
+
+**No external fact-checking needed** — proceed to @writer.
+
+---
+
+# Verified Facts
+
+✅ **Проверено пользователем 2026-01-06:**
+
+1. **Консистентность файлов между вкладками:**
+ Файлы в `/home/claude/` доступны одновременно из любой вкладки браузера или Desktop версии с тем же чатом
+
+2. **Структура /mnt/user-data/:**
+ - `uploads/` — файлы, загруженные пользователем
+ - `outputs/` — файлы, отображаемые в sidebar
+
+3. **Доступ к файлам из /home/claude/:**
+ Файлы из `/home/claude/` НЕ отображаются в списке sidebar, но доступны по клику на файл в выводе tool (создание, редактирование) прямо в чате
+
+4. **Эксперимент с двумя вкладками:**
+ - Создаём файл с текстом в Tab 1
+ - Открываем тот же чат в Tab 2
+ - В Tab 2 просим изменить файл
+ - Возвращаемся в Tab 1, просим вывести содержимое
+ - Содержимое соответствует изменению из Tab 2
+ - Claude удивлён — он не видит команду изменения в истории Tab 1
+
+ → Демонстрирует, что sandbox — общий для всех сессий одного чата
diff --git a/assets/claude-virtual-filesystem-guide/screenshots/s1.png b/assets/claude-virtual-filesystem-guide/screenshots/s1.png
new file mode 100644
index 0000000..6ad4fd4
Binary files /dev/null and b/assets/claude-virtual-filesystem-guide/screenshots/s1.png differ
diff --git a/assets/claude-virtual-filesystem-guide/screenshots/s2.png b/assets/claude-virtual-filesystem-guide/screenshots/s2.png
new file mode 100644
index 0000000..5fa1eca
Binary files /dev/null and b/assets/claude-virtual-filesystem-guide/screenshots/s2.png differ
diff --git a/assets/claude-virtual-filesystem-guide/screenshots/s3.png b/assets/claude-virtual-filesystem-guide/screenshots/s3.png
new file mode 100644
index 0000000..62ec39a
Binary files /dev/null and b/assets/claude-virtual-filesystem-guide/screenshots/s3.png differ
diff --git a/assets/claude-virtual-filesystem-guide/screenshots/s4.png b/assets/claude-virtual-filesystem-guide/screenshots/s4.png
new file mode 100644
index 0000000..cc38aba
Binary files /dev/null and b/assets/claude-virtual-filesystem-guide/screenshots/s4.png differ
diff --git a/assets/claude-virtual-filesystem-guide/screenshots/s5.png b/assets/claude-virtual-filesystem-guide/screenshots/s5.png
new file mode 100644
index 0000000..b1e2743
Binary files /dev/null and b/assets/claude-virtual-filesystem-guide/screenshots/s5.png differ
diff --git a/assets/claude-virtual-filesystem-guide/screenshots/s6-present-files.png b/assets/claude-virtual-filesystem-guide/screenshots/s6-present-files.png
new file mode 100644
index 0000000..1d8c10d
Binary files /dev/null and b/assets/claude-virtual-filesystem-guide/screenshots/s6-present-files.png differ
diff --git a/assets/claude-virtual-filesystem-guide/screenshots/s7-wrong-file-edited.png b/assets/claude-virtual-filesystem-guide/screenshots/s7-wrong-file-edited.png
new file mode 100644
index 0000000..8bf479f
Binary files /dev/null and b/assets/claude-virtual-filesystem-guide/screenshots/s7-wrong-file-edited.png differ
diff --git a/assets/claude-virtual-filesystem-guide/screenshots/s8.png b/assets/claude-virtual-filesystem-guide/screenshots/s8.png
new file mode 100644
index 0000000..94ef784
Binary files /dev/null and b/assets/claude-virtual-filesystem-guide/screenshots/s8.png differ
diff --git a/research/perplexity-chats/article-comment.md b/research/perplexity-chats/article-comment.md
new file mode 100644
index 0000000..c1c2977
--- /dev/null
+++ b/research/perplexity-chats/article-comment.md
@@ -0,0 +1,734 @@
+
+
+# есть ли у Claude web на pro или max плане время сброса данных в virtual FS (sandbox)?
+
+возможно разное время для внутренних папок `/home/claude` и `/mnt/user-data/outputs/`
+
+На основании проведенного исследования могу дать развернутый ответ на ваш вопрос о времени сброса данных в sandbox Claude.
+
+## Время сброса данных в virtual FS (sandbox) Claude
+
+### Для Code Execution Tool (API)
+
+При использовании Claude через API с инструментом code execution существует система **контейнеров с ограниченным временем жизни**:
+
+**Основные характеристики:**
+
+- **Контейнеры можно переиспользовать** между запросами, передавая `container_id` из предыдущего ответа[^1_1]
+- **Контейнер истекает (expires) после 20 минут неактивности**[^1_2][^1_3]
+- Каждый ответ содержит поле `expires_at`, которое показывает, когда контейнер станет недоступен[^1_4]
+- При истечении срока контейнера возвращается ошибка `container_expired`[^1_1]
+
+**Рекомендации по поддержанию контейнера активным:**
+
+- Необходимо периодически (каждые 5 минут) вызывать `retrieve()` для контейнера, чтобы предотвратить истечение срока[^1_3][^1_2]
+- Это особенно важно для длительных операций или при работе с programmatic tool calling
+
+
+### Для Claude Code (CLI/Desktop)
+
+В Claude Code ситуация **принципиально иная** - здесь нет автоматического сброса данных в процессе работы:
+
+**Персистентность данных:**
+
+- Контейнеры Docker используют **персистентный volume** `docker-claude-sandbox-data`, который сохраняется между перезапусками[^1_5][^1_6]
+- Этот volume монтируется в `/mnt/claude-data` внутри sandbox[^1_5]
+- Все файлы проекта, установленные пакеты и изменения окружения **сохраняются между сессиями**[^1_7][^1_6]
+
+**Структура директорий:**
+
+```
+/home/claude/ # Рабочая директория пользователя
+~/.claude/ # Глобальные настройки (CLAUDE.md, конфиги)
+/mnt/claude-data/ # Персистентный volume для credentials
+```
+
+**Время жизни сессий:**[^1_8][^1_9][^1_10]
+
+- **Локальная память** (CLAUDE.md файлы) загружается при старте и остается доступной всю сессию
+- **User memory** (`~/.claude/CLAUDE.md`) - персистентна для всех проектов
+- **Project memory** (`.claude/CLAUDE.md`) - версионируется в git
+- **Local project memory** (`.claude/CLAUDE.local.md`) - персистентна локально, не коммитится
+
+
+### Для Claude Code on the Web
+
+Веб-версия Claude Code работает **эфемерно**:
+
+- Каждая задача запускается в **свежем Ubuntu 22.04 контейнере**[^1_11]
+- После завершения задачи **контейнер полностью удаляется** вместе с ephemeral storage[^1_11]
+- **Сессии истекают**: после 24 часов непрерывного использования или 8 часов неактивности[^1_11]
+
+
+### Различия между папками
+
+**Ответ на ваш конкретный вопрос:**
+
+Да, существует различие в персистентности между директориями:
+
+1. **`/home/claude`** (рабочая директория):
+ - В локальном Claude Code - **персистентна** через Docker volumes
+ - В web-версии - **эфемерна**, удаляется после завершения задачи
+ - В API - зависит от переиспользования контейнера (20 минут)
+2. **`/mnt/user-data/` или `/mnt/claude-data/`**:
+ - Специальный **персистентный volume** в Docker-версии
+ - Используется для хранения credentials и глобальных настроек
+ - Сохраняется между полными перезапусками контейнеров[^1_7][^1_5]
+
+### Artifacts Storage
+
+Отдельно стоит упомянуть **Artifacts с persistent storage**:[^1_12]
+
+- Доступны в Pro, Max, Team, Enterprise планах
+- Лимит **20MB на артефакт**
+- Данные сохраняются **между сессиями** неограниченно долго
+- Работает только для **опубликованных артефактов**
+- Поддерживает personal и shared storage modes
+
+
+### Данные учетной записи (чаты, история)
+
+Для полноты картины - политика хранения данных аккаунта:[^1_13][^1_14][^1_15]
+
+- **По умолчанию**: 30 дней хранения промптов и ответов
+- **С opt-in на улучшение модели**: 5 лет хранения (с августа 2025)[^1_16][^1_15]
+- **API**: сокращено до 7 дней с 15 сентября 2025[^1_14]
+- **Zero-Data-Retention mode**: данные удаляются сразу после обработки[^1_14]
+
+**Вывод:** В локальной версии Claude Code данные в sandbox персистентны между сессиями благодаря Docker volumes. В API-версии контейнеры живут 20 минут без активности. В web-версии каждая задача получает свежий контейнер, который удаляется по завершении.
+
+
+