github not analyzable

askqai/claude-recall

github

Lightweight persistent memory for Claude Code with full-fidelity Recovery Mode. Zero daemons, zero API costs, zero code leaving your machine.

maintainer
askqai
license
NOASSERTION
first seen
2026-06-10
last seen
2026-06-17
releases · 30d
0
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged dynamic code execution in askqai/claude-recall
  2. HIGH code analysis flagged dynamic code execution in askqai/claude-recall
capabilities 3 tools
transport stdio counts 3 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • full

    Full-fidelity dump of recent sessions (default)

  • off

    No auto-injection — use MCP search tools on demand

  • summary

    Compact ~2K token summary only — lightweight context

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed analyzer v18 · 11h ago

skills & prompt files 1

danger signals1

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

last analysis: fetch-failed · showing evidence from the last successful analysis (3d ago)

filesystem 17

  • fs askqai-claude-recall-2a2f2de/plugin/scripts/hook-command.js :106 import { readFileSync as readFileSync5, writeFileSync as writeFileSync4, mkdirSync as mkdirSync4, existsSync as existsSync6 } from "fs";
  • fs askqai-claude-recall-2a2f2de/plugin/scripts/mcp-server.cjs :6794 var import_fs = require("fs");
  • fs askqai-claude-recall-2a2f2de/scripts/build-hooks.js :11 import { readFileSync, existsSync, copyFileSync, readdirSync } from 'fs';
  • fs askqai-claude-recall-2a2f2de/src/cli/handlers/context.ts :24 import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'fs';
  • fs askqai-claude-recall-2a2f2de/src/cli/handlers/observation.ts :15 import { readFileSync } from 'fs';
  • fs askqai-claude-recall-2a2f2de/src/cli/handlers/sidecar.ts :15 import { existsSync, readFileSync, writeFileSync, unlinkSync } from 'fs';
  • fs askqai-claude-recall-2a2f2de/src/cli/handlers/summarize.ts :14 import { readFileSync } from 'fs';
  • fs askqai-claude-recall-2a2f2de/src/servers/mcp-server.ts :31 import { readFileSync, existsSync, writeFileSync, watch, mkdirSync } from 'fs';
  • fs askqai-claude-recall-2a2f2de/src/services/key-management.ts :2 import { readFileSync, writeFileSync, chmodSync, existsSync } from 'fs';
  • fs askqai-claude-recall-2a2f2de/src/shared/SettingsDefaultsManager.ts :8 import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs';
  • fs askqai-claude-recall-2a2f2de/src/shared/paths.ts :3 import { existsSync, mkdirSync } from 'fs';
  • fs askqai-claude-recall-2a2f2de/src/shared/worker-utils.ts :3 import { readFileSync } from "fs";
  • fs askqai-claude-recall-2a2f2de/src/utils/logger.ts :6 import { appendFileSync, existsSync, mkdirSync, readFileSync } from 'fs';
  • fs askqai-claude-recall-2a2f2de/src/utils/message-rules.ts :1 import { readFileSync, existsSync, statSync } from 'fs';
  • fs askqai-claude-recall-2a2f2de/src/utils/project-identity.ts :2 import { existsSync } from 'fs';
  • fs askqai-claude-recall-2a2f2de/src/utils/push-signal.ts :1 import { mkdirSync, writeFileSync, existsSync, unlinkSync } from 'fs';
  • fs askqai-claude-recall-2a2f2de/src/utils/transcript-usage.ts :16 import { openSync, readSync, fstatSync, closeSync } from 'fs';

shell / exec 5

  • shell askqai-claude-recall-2a2f2de/plugin/scripts/hook-command.js :1364 import { spawn } from "child_process";
  • shell askqai-claude-recall-2a2f2de/plugin/scripts/mcp-server.cjs :22102 var import_child_process = require("child_process");
  • shell askqai-claude-recall-2a2f2de/src/cli/handlers/sidecar.ts :14 import { spawn } from 'child_process';
  • shell askqai-claude-recall-2a2f2de/src/shared/paths.ts :4 import { execSync } from 'child_process';
  • shell askqai-claude-recall-2a2f2de/src/utils/project-identity.ts :3 import { execSync } from 'child_process';

network 5

  • net askqai-claude-recall-2a2f2de/plugin/scripts/hook-command.js :1399 const resp = await fetch(`http://127.0.0.1:${port}/api/health?token=${token}`, {
  • net askqai-claude-recall-2a2f2de/src/cli/handlers/file-edit.ts :37 const response = await fetch(`http://127.0.0.1:${port}/api/sessions/observations`, {
  • net askqai-claude-recall-2a2f2de/src/cli/handlers/sidecar.ts :75 const resp = await fetch(`http://127.0.0.1:${port}/api/health?token=${token}`, {
  • net askqai-claude-recall-2a2f2de/src/cli/handlers/user-message.ts :23 const response = await fetch(
  • net askqai-claude-recall-2a2f2de/src/shared/worker-utils.ts :66 const response = await fetch(`http://127.0.0.1:${port}/api/readiness`);

secrets 5

  • secrets askqai-claude-recall-2a2f2de/plugin/scripts/hook-command.js :1518 const envKey = process.env.CLAUDE_RECALL_ENCRYPTION_KEY;
  • secrets askqai-claude-recall-2a2f2de/plugin/scripts/mcp-server.cjs :21973 const envKey = process.env.CLAUDE_RECALL_ENCRYPTION_KEY;
  • secrets askqai-claude-recall-2a2f2de/src/cli/handlers/context.ts :46 const RECOVERY_BUDGET_TOKENS = Number(process.env.CLAUDE_RECALL_RECOVERY_BUDGET_TOKENS) || 200_000;
  • secrets askqai-claude-recall-2a2f2de/src/cli/handlers/observation.ts :191 const shouldRedact = (process.env.CLAUDE_RECALL_REDACT_SECRETS ?? 'true').toLowerCase() !== 'false';
  • secrets askqai-claude-recall-2a2f2de/src/services/key-management.ts :29 const envKey = process.env.CLAUDE_RECALL_ENCRYPTION_KEY;

declared dependencies 4

  • @modelcontextprotocol/sdk@^1.25.1
  • @types/node@^20.0.0
  • esbuild@^0.27.2
  • typescript@^5.3.0