What Goose memory is
Goose ships with a built-in Memory extension. It lets you teach goose personalized information such as commands, code snippets, preferences and configurations, which goose can recall and apply later (goose docs). The extension supports project-specific (local) knowledge and universal (global) knowledge, per the goose docs.
Turn on the Memory extension
In the goose CLI, run goose configure to open the settings flow, as shown in the goose docs. In the extension picker, use the space key to toggle an extension and enter to submit (goose docs). The Memory MCP Server is a built-in goose extension (goose docs).
Where Goose stores memories
Memories are stored as plain files on disk in one of two locations, per the goose docs. Local, project-scope memories live in .goose/memory/ inside your working directory, and global, user-scope memories live in ~/.config/goose/memory/ (goose docs).
How Goose uses memories in a session
goose loads all saved memories at the start of a session and includes them in every prompt sent to the LLM (goose docs). With stored memories, goose remembers your project's requirements and automatically applies them to new tasks (goose docs), so you no longer have to repeat yourself (goose docs).
goose recognizes trigger words that signal when to store, retrieve or remove memory (goose docs). "remember" stores useful info for later use, and "clear memory" wipes all stored memories (goose docs). goose may also automatically suggest saving recurring structured knowledge, such as API standards, when it detects a pattern in your workflow (goose docs).
The memory tools
The extension exposes a small tool set, listed in the goose docs. remember_memory(category, data, tags, is_global) stores information with a category, optional tags and a local or global scope (goose docs). retrieve_memories(category, is_global) retrieves memories by category, and passing "*" retrieves all memories (goose docs).
remove_memory_category(category, is_global) deletes all memories in a category, and remove_specific_memory(category, memory_content, is_global) deletes a single memory by matching its content within a category (goose docs). For large or detailed instructions, the docs recommend storing them in files and telling goose to reference those files (goose docs). A documented pattern is asking goose to learn a topic and save it to memory, then drawing on it later (goose docs).
A knowledge base for saved reading
Goose memory is built for instructions you teach it in the moment. For saved articles, links and written decisions, KnowMan keeps a personal knowledge base: it saves articles and links, reads and tags them, answers questions with citations, and keeps memories such as claims, decisions and playbooks (KnowMan guide).
KnowMan also ships a local stdio MCP server, package @knowman/mcp, started with npx -y @knowman/mcp on Node 22 or newer (MCP server guide). Its tools include kb_search to search saved items by keyword or meaning, kb_ask to answer with citations, and kb_memories to read saved claims, decisions and playbooks, plus kb_save, kb_get_item and kb_recent (MCP server guide). Documented client configs cover Claude Desktop, Claude Code and Cursor (MCP server guide).
Where KnowMan fits
The two cover different needs. Goose keeps instructions, preferences and project requirements close to the agent and loads them into every prompt (goose docs). KnowMan saves articles and links, reads and tags them, answers questions with citations, and keeps memories such as claims, decisions and playbooks (KnowMan guide).
For the wider pattern, see persistent memory for AI agents and knowledge bases for AI agents.
Use the hosted KnowMan server with Goose
KnowMan also runs as a hosted remote MCP server at https://api.knowman.io/mcp (Streamable HTTP), alongside the local npx -y @knowman/mcp option. In clients that support remote MCP servers, you add this server URL and sign in, either with OAuth or an API key.
With OAuth, the client opens the KnowMan consent page, where you approve the knowman.read and knowman.write scopes; access tokens last one hour and refresh automatically. With an API key, you send it as an Authorization: Bearer <key> header. You create keys in your KnowMan settings.
Once connected, you can ask Goose to search or save, for example 'search my KnowMan for ...' before it answers or 'save this URL' when a reading session ends, and the results feed the memory flow described above. The open-source client is at https://github.com/Essatt/knowman-mcp.
Questions people ask
How do I turn on memory in Goose?
Run goose configure, then use space to toggle the Memory extension and enter to submit (goose docs). The Memory MCP Server is a built-in goose extension (goose docs).
Where does Goose store memories?
Memories are plain files on disk (goose docs). Local memories live in .goose/memory/ in your working directory, and global memories live in ~/.config/goose/memory/ (goose docs).
How do I clear Goose memory?
The goose docs list "clear memory" as a trigger phrase that wipes all stored memories (goose docs). You can also delete a whole category with remove_memory_category, or one entry with remove_specific_memory (goose docs).
Can Goose read my saved articles?
KnowMan exposes saved items and memories through MCP tools such as kb_search, kb_ask and kb_memories (MCP server guide). You can run the server locally with npx -y @knowman/mcp or use the hosted server at https://api.knowman.io/mcp with OAuth sign-in or an API key, so it also fits clients that accept only remote MCP servers (MCP server guide).