You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 3c21d16
Browse filesBrowse the repository at this point in the historyBrowse files
feat(agent-core-v2): add the permission mode reminder env switch (#309)
## Related Issue
No tracked issue; standalone enhancement.
## Problem
The auto permission-mode reminder is always injected into the model
context. Operators embedding the agent in automated flows have no way to
turn it off, and every reminder spends context tokens on a instruction
the caller may already enforce.
## What changed
- New env switch `PYTHINKER_CODE_PERMISSION_MODE_REMINDER`: set it to a
false value (`0`, `false`, `off`, empty) to stop the auto reminder from
being registered with the agent lifecycle. Any other value, or the
variable being unset, keeps today's behavior.
- `AgentPermissionModeService` reads the switch through
`IBootstrapService.getEnv` at construction and skips
`activateReminderWhenReady` when disabled.
- Documented the variable in `docs/configuration/env-vars.md`.
- Changeset included (minor).
## Checklist
- [x] I have read the
[CONTRIBUTING](https://github.com/PyModel/pythinker-code/blob/main/CONTRIBUTING.md)
document.
- [x] No external issue required (maintainer-authored change).
- [x] Added tests: enable-by-default and disable paths covered in
`permissionMode.test.ts`; lifecycle suite stub updated.
- [x] Ran `gen-changesets` rules; changeset present.
- [x] Doc update included.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added the `PYTHINKER_CODE_PERMISSION_MODE_REMINDER` environment
variable to control automatic permission-mode reminders.
* Set it to `false`, `0`, or an empty value to suppress reminders. Other
non-empty values keep them enabled.
* **Documentation**
* Added configuration guidance for the new environment variable.
* **Bug Fixes**
* Permission-mode reminders now respect the configured environment
setting.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Add the `PYTHINKER_CODE_PERMISSION_MODE_REMINDER` environment variable: set it to a false value or an empty value to stop injecting the auto permission-mode reminders into the model context.
Copy file name to clipboardExpand all lines: docs/configuration/env-vars.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -141,6 +141,7 @@ Switches that control the behavior of subsystems such as telemetry, background t
141
141
|`PYTHINKER_CODE_BUILTIN_PRODUCT_SKILLS`| Whether the built-in skills documenting Pythinker Code itself are offered to the model; takes higher priority than `builtin_product_skills` in `config.toml` (default enabled) | Truthy: `1`/`true`/`yes`/`on`; falsy: `0`/`false`/`no`/`off`|
142
142
|`PYTHINKER_CODE_TUI_FULL_SCREEN`| Control the fullscreen TUI with a fixed prompt dock, scrollable transcript, mouse text selection, clickable links, transcript search, and a clickable jump-to-bottom control. Fullscreen is enabled by default |`0` restores the legacy inline UI; unset or any other value keeps fullscreen enabled |
143
143
|`PYTHINKER_CODE_DANGEROUS_COMMAND_GUARD`| Override [`[permission].dangerous_command_guard`](./config-files.md#permission). The guard asks before dangerous or unanalyzable `Bash` commands in interactive modes and blocks them in Auto mode |`true` or `false`; default `true`|
144
+
|`PYTHINKER_CODE_PERMISSION_MODE_REMINDER`| Stop injecting the automatic permission-mode reminder (the context note that explains Auto mode) into the model context; set to a false value or an empty value to disable | Truthy keeps the reminder enabled; falsy: `0`/`false`/`no`/`off` disables it; an empty value disables it |
144
145
|`PYTHINKER_CODE_EXPERIMENTAL_SUBAGENT_FORK`| Enable the experimental `fork` parameter on the `Agent` and `AgentDynamicWorkflow` tools, letting the model start a subagent with a snapshot of the calling agent's conversation history instead of an empty context; the master `PYTHINKER_CODE_EXPERIMENTAL_FLAG=1` also enables it | Truthy: `1`/`true`/`yes`/`on`; falsy: `0`/`false`/`no`/`off`|
145
146
|`PYTHINKER_CODE_EXPERIMENTAL_TOWER`| Enable the experimental [`/tower`](../reference/slash-commands.md#modes--run-control) command for workspace-wide subagent coordination; the master `PYTHINKER_CODE_EXPERIMENTAL_FLAG=1` also enables it | Truthy: `1`/`true`/`yes`/`on`; falsy: `0`/`false`/`no`/`off`|
146
147
|`PYTHINKER_CODE_SEARCH_WORKER`| Run the global search index in a dedicated worker thread; takes higher priority than `[database] search` in `config.toml` (default `true`) | Truthy: `1`/`true`/`yes`/`on`; falsy: `0`/`false`/`no`/`off`|
0 commit comments