Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/block/goose/llms.txt

Use this file to discover all available pages before exploring further.

The project and projects commands help you manage and navigate between project directories with their associated Goose sessions.

Usage

goose project      # Open last project
goose p            # Short alias

goose projects     # List all projects
goose ps           # Short alias

Project Command

Open the last accessed project directory.
goose project
goose p
Behavior: If no previous projects exist:
  • Starts a new session in the current directory
If projects exist:
  • Shows the most recently accessed project
  • Offers options:
    • Resume project with session
    • Resume project with fresh session
    • Start new project in current directory
Example:
goose project
Interactive menu:
┌  goose Project Manager

◆  Choose an option:
│  ● Resume project with session: .../my-app
│  ○ Resume project with fresh session: .../my-app
│  ○ Start new project in current directory: /home/user/code

Resume with Session

Continues the previous session in the project directory:
# Changes to project directory
cd /path/to/my-app

# Resumes session with ID
goose session --name <session-id> --resume

Resume with Fresh Session

Starts a new session in the project directory:
# Changes to project directory
cd /path/to/my-app

# Starts fresh session
goose session

Start New Project

Stays in current directory and starts new session:
# Stays in current directory
goose session

Projects Command

List all recent projects and select one interactively.
goose projects
goose ps
Example:
goose projects
Interactive menu:
┌  goose Project Manager

◆  Select a project:
│  ● .../my-app (2025-03-04 10:30:00) [Analyze code structure]
│  ○ .../website (2025-03-03 15:22:10) [Update homepage]
│  ○ .../api-server (2025-03-02 09:15:33) [Add authentication]
│  ○ Cancel

Information shown:
  • Project path (truncated for readability)
  • Last accessed timestamp
  • Last instruction/task (truncated to 40 characters)

Selection Options

After selecting a project: If previous session exists:
◆  What would you like to do?
│  ● Resume previous session
│  ○ Start new session

Resume previous session:
cd /path/to/project
goose session --name <session-id> --resume
Start new session:
cd /path/to/project
goose session

Project Tracking

Goose automatically tracks: Project Information:
  • Working directory path
  • Last accessed timestamp
  • Last session ID
  • Last instruction/prompt
Storage: Projects are tracked in ~/.config/goose/projects.json:
{
  "projects": [
    {
      "path": "/home/user/my-app",
      "last_accessed": "2025-03-04T10:30:00Z",
      "last_session_id": "my-app-session",
      "last_instruction": "Analyze code structure"
    }
  ]
}

Directory Validation

Before opening a project, Goose validates:
  • Directory still exists
  • Directory is accessible
  • Session files are valid (if resuming)
If directory doesn’t exist:
Most recent project directory '/path/to/old-project' no longer exists.

Project Display

Paths are truncated for readability: Full path:
/home/user/projects/web/frontend/my-app
Displayed as:
.../frontend/my-app
Shows last 2 components with ... prefix.

Examples

Quick resume:
# Resume most recent project
goose project
# Select: Resume project with session
Browse all projects:
# Show project list
goose projects
# Select project from list
# Choose: Resume previous session
Start fresh in project:
goose project
# Select: Resume project with fresh session
New project in current dir:
cd ~/new-project
goose project
# Select: Start new project in current directory

Integration with Sessions

Projects are linked to sessions: Session creates/updates project:
cd ~/my-app
goose session --name my-app
# Project entry created/updated
Project tracking includes:
  • Which session was last used
  • When it was accessed
  • What was the last task
View project sessions:
goose session list --working_dir ~/my-app

Workflow Examples

Daily workflow:
# Morning: Resume yesterday's work
goose project  # or: goose p
# Select: Resume project with session

# Continue working...

# Switch to different project
goose projects  # or: goose ps
# Select different project
Multi-project development:
# Backend development
cd ~/backend
goose session --name backend-api

# Frontend development  
cd ~/frontend
goose session --name frontend-ui

# Later: Quick switch
goose projects
# Shows both projects with recent activity
Project exploration:
# Start in new directory
cd ~/exploration
goose session

# Try something else
goose project
# Select: Resume project with session
# Returns to previous project

Project Sorting

Projects are sorted by last accessed time:
  • Most recent first (default)
  • Timestamp shown in list
  • Helps find active projects quickly

Path Resolution

Project paths are:
  • Absolute paths stored internally
  • Displayed with ~ for home directory
  • Truncated for readability in lists
  • Validated before opening
Storage:
"/home/user/my-app"
Display:
~/my-app

See Also