-
app_create() held the write
Simon Willison, 4 November
shipped
datasette-apps 0.3a0.
Typing # in
Datasette Agent chat
autocompletes apps the user
can view. New tools
app_add_stored_queries()
and
app_remove_stored_queries()
set which stored queries an
app may call. Granting a
write query requires approval
first.
app_create()
checks that each requested
stored query exists and that
the user can view it, then
asks before any write query
is attached. View app buttons
and # links open
the app full screen in the
agent panel.
The panel arrived the night
before in
datasette-agent 0.5a0:
the chat sits beside a
Datasette page, a table or a
query. The demo is a GitHub
sign-in at
agent.datasette.io.
Same afternoon,
datasette-llm 0.1a10
limited that demo’s model
list to the configured set
(pull 11).
Copy the stored-query names
you approved onto the app
card before you treat the
panel as the allow-list. A
# tag names an
app you can view. The write
grant is the second list.
-
loginExpiresAt on auth status
Claude Code 2.1.318,
dated 4 November, adds the
end date of a stored
claude.ai sign-in to
claude auth status
as loginExpiresAt,
and to claude -p
JSON results as
credential_expires_at.
A one-line stderr warning on
claude -p text
output starts 10 days before
that sign-in ends.
Run
claude auth status
and copy
loginExpiresAt
onto the job card. If the
overnight run crosses that
timestamp, renew before the
job. The stderr line is the
10-day marker. The JSON field
is there on every
claude -p result
in this release, warning or
quiet.
-
CLAUDE_RUNNER_SPAWN_REASON
The same 2.1.318 release adds
CLAUDE_RUNNER_SPAWN_REASON
to the orchestrator’s
spawn-runner hook environment.
The value is why Anthropic
sent the request, for example
runner_lost or
resumed, and it
stays unset when none was
sent. Orchestrator logs moved
with it:
ok session=…
now prints at every log level
on stdout, with
reason=… after
jti=….
nack session=…
ends with
reason=… after
retryable=….
Scripts that match
retryable=true:
or
retryable=false:
need an update.
The release also fixes
spawn ENOENT on
claude remote-control
hosts, the background daemon,
and self-hosted runners after
an update or version cleanup
removed the binary of a
still-running process. A
shell command approved after
a runner or cloud session
restart runs in the folder it
was asked in. If that folder
can’t be entered, the harness
skips the command.
deniedMcpServers
URL entries now also block
Anthropic-provided servers
whose upstream URL matches,
and connectors in cloud
sessions and on self-hosted
runners, where the session
receives the connector’s own
URL. Deny a connector by name
when the URL match misses.
A cloud session on an
Anthropic-hosted environment
can also start with the new
No repository option.
Log
CLAUDE_RUNNER_SPAWN_REASON
on every respawn, and record
the working directory of the
first approved shell after
that restart.
-
Three minutes, then background
Still in 2.1.318: a
background subagent moves a
shell command to the
background after 3 minutes on
all providers, so the prompt
cache stays warm while the
command runs. On Bedrock,
Vertex, Foundry, or with
telemetry off, a subagent
progress summary on a cold
prompt cache can wait up to 5
minutes for the subagent’s
pending response.
If a subagent shell is still
in the foreground at 3:01,
the harness has already moved
it. Write 3 minutes on the
card. Write 5 minutes when
the summary is on a cold
cache with telemetry off.
-
Xcode 27.3 beta, Settings, Intelligence
GitHub’s 4 November changelog
puts Copilot in public
preview inside Xcode’s
built-in coding assistant,
starting with Xcode 27.3
beta. The Mac needs macOS
Tahoe 26.6 or later. Setup is
Xcode, then Settings, then
Intelligence. All Copilot
plans are supported. The
GitHub Copilot for Xcode
extension stays its own
install. Feedback goes to
github/CopilotForXcode
or Apple Feedback Assistant.
The changelog points at
Setting up coding intelligence
and the
Xcode 27.3 beta release notes.
Record which surface you
enabled: the built-in
assistant, or the extension.
A screenshot of Settings,
Intelligence, is the proof.
The plan name alone leaves
the surface unnamed.