zchee / zchee/ganja-code

require_approval for a Responses MCP server tool

Open
#92 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

idea size:M verdict:do
Dominant language
Rust
Stars
2
Forks
0
Avg merge
1h
Merged PRs (30d)
17

Description

What it does

Decides what ganja does when a configured Responses mcp server tool asks for approval before a call: refuse the setting at load, answer it from the session's permission engine, or always send never.

Source

ganja-code-e9qp (what require_approval does for a Responses MCP server tool; an open question).

The bead is closed when this issue is published, with its external reference pointing here (#38).

File and line references in this issue are to main as of 75a7a92.

Against the three criteria

  • Direction (README): The README says nothing about provider wires.
  • Today's terminal users: Nothing handles an approval request today, so on the openai id a value other than never would stall silently. The ChatGPT seat refuses the mcp type, and the configuration refuses it at load for the chatgpt id (crates/ganja-core/src/config.rs:3612-3619).
  • Evidence: Measured after the bead was filed: on the platform (openai) an mcp entry with require_approval: "never" is accepted. What the platform does with another value is unmeasured.

Depends on

Nothing.

Verdict

  • Verdict: do
  • Size: M — which of the three answers is taken is left to the plan, after measuring.
  • Exception to the probe rule: no.
  • Date: 2026-09-19
  • Verdict ticket: #44

Theme: #57

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the README's provider documentation and crates/ganja-core/src/config.rs:3612-3619, then measure how the openai Responses MCP server handles require_approval values other than "never". Choose and document one of the three approval behaviors, implement it for terminal users, and verify that configuration loading and approval requests no longer stall silently.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend-api-design, cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.