Skip to content

No commands recorded on immutable Linux OS (Fedora Atomic) #10

Closed

Description

@ronki2304

No commands recorded on immutable Linux OS (Fedora Atomic)

Environment

  • OS: Fedora 43 (immutable/atomic variant)
  • Kernel: 6.17.7-ba25.fc43.x86_64
  • Shell: /bin/bash
  • wake-mcp location: ~/.local/bin/wake-mcp
  • Home directory: /var/home/user1 (not /home/User1)

Problem

Wake starts a session successfully but no commands are ever recorded. wake_list_commands and wake_log always return "No commands recorded yet", even after running commands in the terminal.

wake_status output

Session: c3221c04-927b-4e53-81f2-84b633853d44 (active)
Started: 2026-01-31 20:16:33
Shell: /bin/bash
Commands: 0

Steps to reproduce

  1. Install wake on an immutable Fedora OS (Silverblue, Kinoite, Bazzite, etc.)
  2. Add shell hook to .bashrc: eval "$(wake init bash)"
  3. Register MCP server
  4. Start wake shell or a new terminal
  5. Run some commands
  6. Check wake_log — no commands recorded

On immutable Fedora variants, home directories live under /var/home/username. /home is a symlink to /var/home.

Activity

  1. joemckenney commented on Feb 1, 2026

    @joemckenney
    Owner

    My best guess it the shell hooks aren't firing or are failing silently. Let me think about how I can repro your environment and also test the bash setup a bit more (i'm primarily on zsh).

    Will post any learnings/findings along the way.

  2. joemckenney commented on Feb 1, 2026

    @joemckenney
    Owner

    Can you run the following inside of a wake shell:

    1. Is the hook defined?

    type __wake_preexec 2>/dev/null || echo "HOOK NOT DEFINED"

    2. Where is the wake init line?

    grep -l "wake init" ~/.bashrc ~/.bash_profile 2>/dev/null || echo "NOT FOUND IN EITHER"

    3. What path does the hook use vs where wake actually is?

    wake init bash | grep -o '"[^"]*wake"'
    which wake

    4. Check the actual binary path

    readlink -f "$(which wake)"

  3. self-assigned this
    on Feb 1, 2026
  4. added
    bugSomething isn't working
    questionFurther information is requested
    on Feb 1, 2026
  5. joemckenney commented on Feb 1, 2026

    @joemckenney
    Owner

    My best guess from spinning up a container that mimics your environment is that SHELL is set as a shell variable but not exported to the environment which would mean this line result in incorrect behavior by falling back to /bin/sh which doesn't source .bashrc afaik.

    Before starting a wake shell if you run the following, what's the output

    printenv SHELL || echo "SHELL not in environment"

    If it prints "SHELL not in environment", that confirms my hypothesis and I'll need to update the line linked above to be more defensive and probably fall back to /etc/passwd.

    If it prints /bin/bash, then i'm not entirely sure what's going wrong.

    To confirm my hypothesis, you could try the following:

    export SHELL                                                                                                                                                                                                                               
    wake shell                                                                                                                                                                                                                                 
    # run a command                                                                                                                                                                                                                 
    wake log
    
  6. joemckenney commented on Feb 1, 2026

    @joemckenney
    Owner

    Here's my reproduction setup #11

  7. added a commit that references this issue on Feb 1, 2026
    f6723bd
  8. joemckenney commented on Feb 1, 2026

    @joemckenney
    Owner

    k, the repro branch (#11) now has a fix for what I believe is the issue. The scripts/repro-issue-10.sh confirms the fix.

    I'll merge that once you respond with confirmation of my hypothesis and push a new version/release.

  9. ronki2304 commented on Feb 1, 2026

    @ronki2304
    Author

    Hello,

    thanks for your help here are the commands output

    before wake shell

    printenv SHELL || echo "SHELL not in environment"
    /bin/bash
    

    inside wake shell

    printenv SHELL || echo "SHELL not in environment"
    HOOK NOT DEFINED
    
    grep -l "wake init" ~/.bashrc ~/.bash_profile 2>/dev/null || echo "NOT FOUND IN EITHER"
    NOT FOUND IN EITHER
    
    wake init bash | grep -o '"[^"]*wake"'
    "/var/home/jey/.local/bin/wake"
    
    readlink -f "$(which wake)"
    /var/home/jey/.local/bin/wake
    
  10. joemckenney commented on Feb 1, 2026

    @joemckenney
    Owner

    K, this command/output is telling

    grep -l "wake init" ~/.bashrc ~/.bash_profile 2>/dev/null || echo "NOT FOUND IN EITHER"
    NOT FOUND IN EITHER
    

    So while I see in your "Steps to reproduce" step 2 you are adding the hooks to your shell, they don't appear to be there per the grep.

    So, concretely, you are missing eval "$(wake init bash)" in your .bashrc (see Setup instructions)

    To confirm, what's the output of

    cat ~/.bashrc | grep -i wake

    Either:

    • It's not there (my money is here)
    • It IS there and my grep cmd failed? (seems unlikely)
  11. joemckenney commented on Feb 1, 2026

    @joemckenney
    Owner

    Just run echo 'eval "$(wake init bash)"' >> ~/.bashrc and then wake shell (which spawns bash, sourcing the ~/.bashrc automatically). You should be good to go.

  12. ronki2304 commented on Feb 1, 2026

    @ronki2304
    Author
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingquestionFurther information is requested

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions