Comments

Hacker News

is there a particular reason why i'd want sqlite-backed shell history? i mean sure it works but why not a text file? (which i'd assume is somewhat faster because you can just append)

i guess you could say it's because you may want dates for each command but for that you can just use a CSV or TSV file no?

does it have to do with the searching?

by apodik

For me personally, while I like the history element, if I'm gathering/storing/searching everything, I'd love to also see the command output with the entered command, giving much better context.

Currently I tend to log all my ssh sessions out to text files and grep through the whole lot to find what I want, so a better version of that would be lovely, especially if it could automatically redact secrets or similar, as I'm aware thats a downside of the current setup.

by gertrunde

A little curious but too lazy to find out, what's the difference between this and atuin vs fzf?

Also I do like the premise, recently stopped using atuin due to all the extra bells and whistles and just went back to fzf.

by podocarp

<unrelated side note for the author>

I would never normally mention this, but I'm reading this repo on mobile & it seems Forgejo doesn't wrap .txt files on mobile. Any reason not to use .md for a new project in 2026?

by lucideer

As indicated in https://tangled.org/oppi.li/stinkpot/blob/cdf87ffcd36e96f3d4... , this software (stinkpot) still uses Bash PROMPT_COMMAND as an entry point to copy new shell history entries to its database.

PROMPT_COMMAND has the following flaw: a command gets recorded as soon as it has finished. So command which never finish (e.g. because they run for a long time, and the user closes the terminal window, or reboots the system) never get recorded. Another flaw: the users starts a long-running command in terminal window 1, and immediately they want to start a variant of it in terminal window 2, but it's not available in the history.

by ptspts

FWIW I use atuin (https://atuin.sh/) and am reasonably happy with it, especially the infinite capacity & snapiness. Ignoring the sync features, I believe it's also sqlite backed when running in local-only mode.

by NightMKoder

Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • is there a particular reason why i'd want sqlite-backed shell history? i mean sure it works but why not a text file? (which i'd assume is somewhat faster because you can just append)

    i guess you could say it's because you may want dates for each command but for that you can just use a CSV or TSV file no?

    does it have to do with the searching?

  • I recently “fixed” my bash history since the default experience when using multiple terminals sucks.

    https://dandavis.dev/the-bash-history-i-always-wanted.html

    I also use fzf to search my history I believe you just need so source the right keybindings file to make ctrl+r use fzf.

  • For me personally, while I like the history element, if I'm gathering/storing/searching everything, I'd love to also see the command output with the entered command, giving much better context.

    Currently I tend to log all my ssh sessions out to text files and grep through the whole lot to find what I want, so a better version of that would be lovely, especially if it could automatically redact secrets or similar, as I'm aware thats a downside of the current setup.

  • A little curious but too lazy to find out, what's the difference between this and atuin vs fzf?

    Also I do like the premise, recently stopped using atuin due to all the extra bells and whistles and just went back to fzf.

  • For those of you on zsh, I have been a big fan of https://github.com/larkery/zsh-histdb

    It is written entirely in shell script, with the only dependency being sqlite itself.

  • <unrelated side note for the author>

    I would never normally mention this, but I'm reading this repo on mobile & it seems Forgejo doesn't wrap .txt files on mobile. Any reason not to use .md for a new project in 2026?

  • As indicated in https://tangled.org/oppi.li/stinkpot/blob/cdf87ffcd36e96f3d4... , this software (stinkpot) still uses Bash PROMPT_COMMAND as an entry point to copy new shell history entries to its database.

    PROMPT_COMMAND has the following flaw: a command gets recorded as soon as it has finished. So command which never finish (e.g. because they run for a long time, and the user closes the terminal window, or reboots the system) never get recorded. Another flaw: the users starts a long-running command in terminal window 1, and immediately they want to start a variant of it in terminal window 2, but it's not available in the history.

  • FWIW I use atuin (https://atuin.sh/) and am reasonably happy with it, especially the infinite capacity & snapiness. Ignoring the sync features, I believe it's also sqlite backed when running in local-only mode.