Skip to content

Edit and read permission UI request does not show filename to edit #415

@philipmw

Description

@philipmw

Checklist

  • I agree to communicate with the author myself (not AI-generated).
  • I've read the README's Filing issues section.
  • I'm running the latest versions (fill in below).
    • agent-shell: 0.48.1
    • acp.el: 20260221.2307
    • ACP package (e.g. claude-code-acp): opencode presumably
    • Agent CLI (e.g. claude, gemini): OpenCode
  • For requesting new agent support, I'm including a link to the ACP-capable agent or related ACP package.
  • For issues, I'm including ACP traffic (as per README).

no filename shown for read

Image

Here is its ACP traffic:

:direction incoming
:kind      request
:object
           jsonrpc 2.0
           id      26
           method  session/request_permission
           params
                   sessionId ses_30c442e74ffejsSG0IcTUQi5O0
                   toolCall
                             toolCallId call_ad19e402fcb548c3acd48bbd
                             status     pending
                             title      external_directory
                             rawInput
                                        filepath  /home/pmw/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/aws-sdk-s3-1.112.0/src/types/_event.rs
                                        parentDir /home/pmw/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/aws-sdk-s3-1.112.0/src/types
                             kind       other
                             locations
                   options
                             optionId once
                             kind     allow_once
                             name     Allow once

                             optionId always
                             kind     allow_always
                             name     Always allow

                             optionId reject
                             kind     reject_once
                             name     Reject

no filename shown for edit

When my agent wants to edit a file, here's how it appears in the UI:

Image

The UI is missing the filename that the agent wants to edit. This makes it hard to allow the action.

Here's the ACP traffic, meanwhile:

:direction incoming
:kind      request
:object
           jsonrpc 2.0
           id      27
           method  session/request_permission
           params
                   sessionId ses_30c442e74ffejsSG0IcTUQi5O0
                   toolCall
                             toolCallId call_451e5acf91884aecaadf3173
                             status     pending
                             title      edit
                             rawInput
                                        filepath /home/pmw/Repos/warmup-s3-archives/src/s3notifications.rs
                                        diff     Index: /home/pmw/Repos/warmup-s3-archives/src/s3notifications.rs
===================================================================
--- /home/pmw/Repos/warmup-s3-archives/src/s3notifications.rs
+++ /home/pmw/Repos/warmup-s3-archives/src/s3notifications.rs
@@ -8,8 +8,10 @@
 use crate::config::Config;
 
 const S3_TEST_EVENT: &str = "s3:TestEvent";
 
+// S3 test events have a different structure than regular notification events.
+// The AWS SDK for Rust does not provide a type for this message format.
 #[derive(Deserialize)]
 #[allow(non_snake_case, dead_code)]
 struct TestEventMessage {
     Service: String,

                             kind       edit
                             locations
                   options
                             optionId once
                             kind     allow_once
                             name     Allow once

                             optionId always
                             kind     allow_always
                             name     Always allow

                             optionId reject
                             kind     reject_once
                             name     Reject

(It would also be great to show the diff in the UI, but for now I'd settle for just the filename.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions