Executor version
1.6.7
How do you run Executor?
Desktop app (Cursor connected over MCP to the local desktop sidecar)
Operating system
macOS (Apple Silicon)
Integration involved
MCP artifact tools (list-artifacts, show-artifact, edit-artifact, create-artifact). Not a third-party integration.
What happened
when an agent calls show-artifact, it only shows confirmation with a deep link:
Saved "personal GitHub PRs" as artifact art_smygdh2sj2mtju34jo.
This MCP client cannot display MCP Apps, so give the user this URL to open it:
http://localhost:4789/artifacts/art_smygdh2sj2mtju34jo
according to create-artifact skill "if you do not have the stored source, call show-artifact and edit from what it returns."
|
"the retry from that rather than calling `show-artifact` again. If you don't have", |
|
"the source at all (the artifact came from `list-artifacts`), `show-artifact` once", |
|
"and edit from what it returns — never from memory.", |
A follow-up edit-artifact with a non-matching oldText failed as expected (atomic, nothing saved). error:
edit-artifact rejected: Edit 1 of 1 matched nothing: its oldText does not appear in the current source. Copy oldText verbatim from the source, whitespace included .
Nothing was changed. The artifact's current source is in structuredContent.code — build the retry against it.
The model still did not receive structuredContent.code. Cursor-like hosts appear to ignore MCP structuredContent and only forward content[].text.
What you expected
show-artifact should return the stored component source so agent can at least have oldText for edit-artifact.
Steps to reproduce
- run Executor 1.6.7.
- agent calls
list-artifacts, then show-artifact with one of the returned ids.
- Read the tool result the model receives (not the web UI at
/artifacts/:id).
Expected after step 3: the result text contains a Source: fenced block with the stored App component.
Actual: confirmation + localhost URL only. No source.
Workaround that did return source: GET http://localhost:4789/api/artifacts/<id> (authenticated to the local daemon). That is not the documented agent path.
Diagnostics / logs
Notes (optional, not a form field)
Before you submit
Executor version
1.6.7How do you run Executor?
Desktop app (Cursor connected over MCP to the local desktop sidecar)
Operating system
macOS (Apple Silicon)
Integration involved
MCP artifact tools (
list-artifacts,show-artifact,edit-artifact,create-artifact). Not a third-party integration.What happened
when an agent calls
show-artifact, it only shows confirmation with a deep link:according to
create-artifactskill "if you do not have the stored source, callshow-artifactand edit from what it returns."executor/packages/core/execution/src/skills.ts
Lines 132 to 134 in 5e4da2a
A follow-up
edit-artifactwith a non-matchingoldTextfailed as expected (atomic, nothing saved). error:The model still did not receive
structuredContent.code. Cursor-like hosts appear to ignore MCPstructuredContentand only forwardcontent[].text.What you expected
show-artifactshould return the stored component source so agent can at least haveoldTextforedit-artifact.Steps to reproduce
list-artifacts, thenshow-artifactwith one of the returned ids./artifacts/:id).Expected after step 3: the result text contains a
Source:fenced block with the storedAppcomponent.Actual: confirmation + localhost URL only. No source.
Workaround that did return source:
GET http://localhost:4789/api/artifacts/<id>(authenticated to the local daemon). That is not the documented agent path.Diagnostics / logs
Notes (optional, not a form field)
Before you submit