In this article
Canvas displays the conversation, the backend workspace exposes files, and the model endpoint supplies generation; location follows the owner.
When Agent Canvas cannot find project files, identify the backend workspace before changing the model. The browser shows the task, the backend executes file tools, and the model endpoint generates answers; these locations are not automatically the same directory or machine.
The concrete application boundary
The current Canvas overview assigns execution and persistent state to backend services. A workspace is the folder, repository, or other configured environment the agent can read and write. The model host supplies generation and does not define that workspace. This explains why a browser opened on a laptop can show a conversation whose file tools operate elsewhere in an existing arrangement. For this diagnosis stay with an already configured local backend. Do not create another service or alter remote access merely because a path is missing. First establish what directory the active backend exposes and whether the conversation is actually attached to the intended workspace (OpenHands product introduction) (OpenHands Agent Canvas).
A practical route
Inspect the selected backend and the workspace for the current conversation. Compare the visible file tree with a known harmless file in the intended local project. Ask for a read-only directory or file observation and inspect the tool result, not just the model summary. If the tool points at another directory, correct the conversation’s workspace selection through the existing application controls. Separately inspect Settings > LLM when generation itself fails; its Advanced local endpoint profile controls model access, not the directory that file tools see (OpenHands model configuration).
A worked example
A user opens Canvas expecting a parser repository, but the file tree belongs to a previous writing exercise. The model answers general parser questions, which makes the setup seem connected. A read of a specific fixture fails because the active workspace is wrong. Select the intended existing repository, confirm its fixture appears, and repeat the read before requesting any modification.
| Check | Record |
|---|---|
| Browser | The control interface currently showing the conversation. |
| Backend workspace | The actual local directory observed by the file-reading tool. |
| Model profile | The endpoint used for generation, recorded independently of source-file location. |
Reading the failure correctly
A model can invent a plausible file explanation without reading the intended source. An unavailable model can also coexist with a correctly displayed file tree. Keep these observations distinct. MCP tools may have their own resource scope, so a successful built-in file read does not prove that every connected tool sees the same paths (OpenHands MCP guide).
What completes the check
The correction is complete when a concrete source file is observed in the intended backend workspace and read by the task. Preserve the location map so later model changes do not accidentally become workspace changes.
Related background: Reproducible inference stacks: preserving a GPU pilot’s result, Coding LLMs on 12GB VRAM: Budget Context and Headroom.