Skip to content

[Bug]: dotfile vars don't correctly handle spaces #2809

@bjschafer

Description

@bjschafer

What did you expect to happen?

I'd expect that values containing a space (or perhaps other special characters such as quotes) are properly handled/escaped, such that you can do:

$ atuin dotfiles var set FOO 'hello there'

# open new shell

$ echo "$FOO"
hello there

What happened?

If I set a dotfiles var with a value containing a space, the resultant value that gets set/exported to my shell is incorrect. The value is stored correctly as shown in atuin dotfiles var list, it just doesn't correctly escape values in the shell.

For example:

$ atuin dotfiles var set FOO 'hello there'
$ atuin dotfiles var list
export FOO=hello there

# open new shell

$ atuin init zsh
# >8 snip
export FOO=hello there
$ echo "$FOO"
hello

Atuin doctor output

Atuin Doctor
Checking for diagnostics


Please include the output below with any bug reports or issues


{
  "atuin": {
    "version": "18.6.1",
    "sync": {
      "cloud": false,
      "records": true,
      "auto_sync": true,
      "last_sync": "2025-07-05 16:54:01.240302164 +00:00:00"
    },
    "sqlite_version": "3.46.0"
  },
  "shell": {
    "name": "zsh",
    "default": "zsh",
    "plugins": [
      "atuin"
    ],
    "preexec": "built-in"
  },
  "system": {
    "os": "EndeavourOS",
    "arch": "x86_64",
    "version": "rolling",
    "disks": [
      {
        "name": "/dev/nvme0n1p2",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/nvme0n1p2",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/nvme0n1p2",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/nvme0n1p2",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/nvme0n1p2",
        "filesystem": "btrfs"
      },
      {
        "name": "/dev/nvme0n1p1",
        "filesystem": "vfat"
      }
    ]
  }
}

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions