Affected Component
Other (please specify in the description)
Describe the bug
What happend: I deployed PENTAGI with the ./installer and run a Task. Now i want to edit the config with the /installer. When i open "AI Agents Settings" i cannot save my changes. In the other categories like "Search Engines Configration" i can save without problems
Steps to Reproduce
- start the ./installer
- go to Tools -> AI Agents Settings
- make a change and try so save it
System Configuration
PentAGI installed with the latest ./installer
custom local ai model
Logs and Artifacts
No response
Screenshots or Recordings
No response
Verification
- I have checked that this issue hasn't been already reported
- I have provided all relevant configuration files (with sensitive data removed)
- I have included relevant logs and error messages
- I am running the latest version of PentAGI
Activity
5Pressing Ctrl+S does nothing — no error, no feedback. The only options available are "Back" and "Exit". The "unsaved changes" indicator is displayed, so the app clearly detects that changes exist.
I was not aware of the log output. It turned out the save was failing silently with a validation error:
ERRO[0218] [BaseScreen] SAVE: error: Same Tool Call Threshold cannot be empty ERRO[0220] [BaseScreen] SAVE: error: Same Tool Call Threshold cannot be empty ERRO[0221] [BaseScreen] SAVE: error: Same Tool Call Threshold cannot be empty
After supplying a value for "Same Tool Call Threshold", saving works as expected. The standard value does not work here?
Thanks for the follow-up — that log line pins it down: the save handler validates "Same Tool Call Threshold" as required, so a blank standard value gets rejected even though the field is meant to be optional. bryanbans' #451 (allow blank optional AI agent limits) addresses exactly that. One UX nit worth adding on top: surface the validation error inline instead of failing silently in the logs. Appreciate the report!
#451 handles the blank limits, but it only touches ai_agents_settings_form.go. The silent Ctrl+S comes from BaseScreen and affects every installer form built on it.
saveConfiguration logs the HandleSave error and returns nil (base_screen.go#L781-L792). The status line can only show "unsaved changes" or "saved" (L550-L555), so Ctrl+S shows nothing. Enter is worse: saveAndReturn reads that nil as success and navigates back (L794-L807), so a failed save leaves the screen with the edits unsaved and no message. Other forms also return real validation errors from HandleSave, for example the embedder batch size, the LLM provider config path and the license key.
I'd like to send a small separate PR: when a save fails, stay on the screen for both Ctrl+S and Enter and show the error in that status line. Would that be welcome?
Agreed — #451 alone leaves the silent-failure UX intact for every other installer form, so a dedicated PR for #470 is definitely welcome. Showing the error inline in the status line on both Ctrl+S and Enter is the right minimal change: it turns an invisible failure into an actionable one without altering the save semantics. Two small suggestions: 1) also keep the "unsaved changes" indicator visible (or clear it only on a confirmed success) so users know the edits still need saving; 2) consider reusing the same error display for the "Other forms return real validation errors" path you mentioned, so every BaseScreen form gets consistent behavior in one change.
Thanks for the report — the fact that other categories (e.g. Search Engines Configuration) save fine points to an issue specific to the AI Agents Settings form rather than the whole installer config flow. To help narrow it down: does the Save button do nothing, or does it show an error/validation message? Are there required fields on that page (model name, provider, etc.) that could fail silently if empty or malformed? Any JS console errors on save would also help. If possible, attach the installer's logs from a save attempt so the backend side can be checked too.