Open Issues Need Help
View All on GitHubAI Summary: The `/help` command's output in the bot's `handle_help` function contains several inaccuracies and omissions regarding the actual command surface. This issue details five specific discrepancies, including incorrect command signatures, outdated functionality descriptions, and a missing command, and provides suggested corrections to align the help text with the current bot behavior.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: This issue proposes expanding the episode detail view in the `/memory` section to display previously hidden fields like approach, outcome, and lessons. The goal is to provide operators with a more complete understanding of stored episodes by rendering these substantive narrative fields, prioritizing approach and outcome first, then lessons, and finally actors.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: This issue aims to update the `/memory` Telegram UI to include rows with a source of "migration" in addition to the existing "extracted" source. This involves modifying filtering logic in several parts of the `/memory` command to ensure migration rows are displayed, searchable, deletable, and accounted for in statistics.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: This issue addresses a cosmetic truncation of the 'query' field in memory recall logs, which hinders downstream evaluation harnesses from reproducing search inputs. The proposed fix involves increasing the truncation length or adding a separate field for the full query, ensuring observability and reproducibility for retrieval quality analysis.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: The `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` environment variable is not being removed from the subprocess environment when `autocompact_pct` is set to 0. This can cause autocompaction to occur even when it's intended to be disabled, if the variable is set in the parent process's environment. A fix would involve explicitly removing the variable if `autocompact_pct` is 0.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: The memory ingestion task in `bot.py` is not being held by a strong reference, which could lead to it being garbage collected mid-execution. This issue proposes applying a pattern already used in `webhook.py` to store a strong reference to the task, ensuring it completes.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: This issue proposes to gate Claude-specific configuration prompts within the `make config` wizard. Currently, these prompts appear even when the 'goose' agent backend is selected, leading to confusion and potentially incorrect settings. The solution involves adding conditional logic to display these prompts only when the 'claude' agent backend is active.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: Webhook and API handlers in `src/kai/webhook.py` currently fail with unstyled 500 errors when receiving non-object JSON bodies (like null, arrays, numbers, or strings). This issue proposes adding a check to ensure the parsed JSON payload is a dictionary before attempting to access its keys, returning a clean 400 JSON error instead. This fix will be applied to all 9 affected handlers and include new tests.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: The `/memory stats` command crashes with a `TypeError` because the `prompt_version` metadata is stored as an integer but expected as a string by the stats calculation logic. This mismatch causes the `len()` function to fail when applied to an integer.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: This issue requests updates to user-facing text within the Telegram interface. Specifically, the model description in the menu and the /help command text need to be modified to accurately reflect multi-backend support, ensuring users are not misled about available models or subcommands.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: This issue details several minor code quality improvements identified during a review of related pull requests. The improvements focus on code duplication, overly broad string matching, missing error handling for Git initialization, lack of integration test coverage for per-user GitHub routing, and untested error paths for chat ID resolution. These are primarily hardening and code quality enhancements, not security vulnerabilities or critical bugs.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: This issue describes a path traversal vulnerability in the `call_service` function where percent-encoded `..` segments are not properly validated. An attacker could exploit this by crafting a `path_suffix` with encoded `..` (e.g., `/%2e%2e/`) to bypass security checks and access unintended files or directories, provided the service has `allow_path_suffix` enabled.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: This issue identifies a bug where subprocesses in `triage.py` and `review.py` incorrectly attempt to use `sudo` even when the target user matches the current bot process user. This is a regression from a fix applied to `PersistentClaude`, and it causes failures in single-user deployments. The suggested fix is to extract the self-sudo skip logic into a shared utility function and apply it consistently across all relevant files.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: This issue describes a bug where the Claude bot fails to start if the configured `os_user` is the same as the user running the bot process. The current implementation incorrectly uses `sudo` to run the bot as itself, which is disallowed by `sudoers` and causes an immediate failure. The fix involves detecting this scenario and skipping the `sudo` wrapper, logging a warning instead.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: When a subprocess eviction fails to shut down gracefully and resorts to `force_kill()`, the associated stderr draining task is not cancelled. This leaves an orphaned asyncio Task running, which can lead to resource leaks and potential indefinite hanging if the stderr file descriptor doesn't close cleanly.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: The `_cmd_apply` function in `install.py` stops the service before executing a sequence of installation steps and restarts it afterward. If any step fails, the service is not restarted, leaving the bot offline and in a potentially partially updated state. The proposed fix is to use a try/finally block to ensure the service is always restarted, even on failure.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: The `install.conf` file, which stores plaintext secrets, is not being deleted after a successful configuration application. This leaves an unnecessary copy of sensitive information in the project root, posing a minor security risk due to its plaintext nature and user-level protection. The proposed solution is to remind the user to manually delete the file after a successful apply.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: The related-issue search functionality in `triage.py` incorrectly includes the current issue being triaged in its search results. This leads to nonsensical outputs where an issue might be marked as a duplicate or related to itself, impacting the reliability of duplicate/related metadata. The fix involves excluding the current issue from the search query or filtering it from the results.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: The current JSON extraction logic in `triage.py` uses a naive brace-matching approach that can incorrectly extract content when Claude prepends text containing braces. This leads to invalid JSON and parse errors, causing triage reports to fail. The proposed fix involves validating the extracted JSON before accepting it, ensuring robustness without impacting the normal workflow.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: The `_send_error_notification` function in `triage.py` lacks internal exception handling. This means that if the HTTP request to send an error notification fails, the exception propagates, leading to a silent failure where the triage process fails and the notification about that failure also fails without user awareness beyond log entries.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: The `_handle_github` function in `webhook.py` is missing a top-level exception handler. This means any unhandled error during the webhook processing logic will cause the entire request handler to crash, returning a 500 error to GitHub and potentially leading to repeated retries. The proposed fix is to add a try/except block to gracefully handle these exceptions, log them, and return a generic 500 error.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: Two module-level dictionaries in `webhook.py` (`_review_cooldowns` and `_triage_cooldowns`) accumulate entries indefinitely for every reviewed PR and triaged issue. These stale entries are never pruned, leading to unbounded memory growth in a long-running service.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: This issue proposes renaming the `workspace/` directory to `home/` to resolve ambiguity with the 'Workspaces' feature and `WorkspaceConfig`. The `home/` directory will represent the default working directory for Claude, while the 'Workspaces' feature will retain its name. This change aims to improve clarity in documentation, code comments, and general conversation.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: This issue proposes to move user-uploaded files from the internal workspace directory to a dedicated DATA_DIR for better architectural consistency. This aligns with previous fixes for history and memory, ensuring runtime data is stored separately from the installation tree. The fix involves updating file saving logic, injecting the new file path into context, and adding a migration for existing files.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: When running Claude subprocesses under `sudo -u`, the `proc.kill()` method only terminates the `sudo` process, leaving the actual `claude` child process orphaned. This can lead to resource leaks as these orphaned processes continue to consume memory and CPU.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: The manual `.env` file parser incorrectly strips both single and double quotes from values, corrupting entries that contain mixed quote types. This happens because `str.strip()` removes any character from the strip set from both ends independently, rather than matching quote pairs. The issue is silent and affects users who do not have the `python-dotenv` package installed.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: The CLAUDE_MODEL environment variable is not validated against a list of allowed models during startup. This allows typos or incorrect model names to pass through initial configuration, leading to runtime errors when the Claude CLI rejects the invalid model. The issue proposes adding validation similar to how models are checked in workspace configurations.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: One-shot Claude jobs are not being deactivated in the database after they execute. While APScheduler removes them from the in-memory queue, the database entry remains active, leading to potential pollution of job listings and a theoretical risk of re-firing. This fix involves adding a check to deactivate these jobs in the relevant Claude job delivery paths.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: Cron jobs in `cron.py` are sending Claude responses directly to Telegram's `send_message` API without checking for message length. This causes Telegram to reject messages over 4096 characters, resulting in responses being silently lost. The fix involves implementing message chunking logic similar to what's already present in `webhook.py` and `bot.py` to split long responses before sending.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: This issue addresses a critical bug in the database migration for the `workspace_history` table. The current migration performs several DDL operations sequentially without an explicit transaction, leading to potential data loss if the process crashes mid-migration. The proposed fix involves wrapping these operations within an explicit SQLite transaction to ensure atomicity.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: A bug exists where the `/workspace <name>` text command does not check if the specified workspace directory still exists before attempting to switch to it. This can lead to errors if a workspace is deleted after the bot starts, unlike the inline keyboard method which correctly handles this scenario. The fix involves adding a directory existence check to the text command handler.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.
AI Summary: This issue addresses several inconsistencies and outdated information within the CLAUDE.md workspace file. The proposed changes include standardizing punctuation, dynamically updating GitHub project board references, removing redundant scheduling API information, unifying secret placeholders, and documenting a missing API.
Agentic AI assistant on Telegram, powered by Claude Code. Runs locally with shell access, spec-driven PR reviews, layered security, persistent memory, and scheduled jobs. Your machine, your data, your rules.