3.7.0 broke filename completion

85 views
Skip to first unread message

doerw...@googlemail.com

unread,
Sep 9, 2026, 9:22:44 AMSep 9
to iterm2-discuss
Hello all!

Since 3.7.0 I get the following when I press TAB after entering `cd `:

Bildschirmfoto 2026-09-09 um 15.09.23.png

I *do* have "Auto composer" enabled, but I'm not sure if auto composer is related to that and this has never happened before. This is broken on multiple levels:

- It is not a list of directories I could enter;
- Pressing ENTER copies something into the terminal window which is not quite what I see in this list;
- The list has some graphics bugs;
- Spacing in the footer is wrong;
- If the footer contains numbers (like in "Last used 9 minutes ago") the "9" isn't aligned on the baseline and seems to use a different font.

What's happening here?

Servus,
   Walter

George Nachman

unread,
Sep 10, 2026, 6:51:22 PMSep 10
to iterm2-...@googlegroups.com
A few separate things are happening here:

1. That popup is command-line completion from the composer. When you press Tab after cd , iTerm2 offers matching entries from your command history (the rows with the clock icon) alongside directory completions, so those rows are past commands rather than a clean list of directories. I am looking at having cd favor directories.
2. The garbled rows that bleed into each other are history entries that contain an embedded newline. They were being drawn across neighboring rows. I have fixed that: embedded newlines now render as a return glyph (↩) and the entry stays on one line. The fix is in and will be in the next beta.
3. The part I cannot reproduce is the most serious one: in your screenshot the popup looks like two overlapping table views, the text is in a proportional (non-monospace) font, and the digits in the footer sit off the baseline in what looks like a different font. On current macOS with a normal terminal font I cannot get anything close to that. My best guess is that it is tied to your specific font and possibly your macOS version.

To let me chase that down, would you mind filing an issue at https://iterm2.com/bugs with:

- Your macOS version.
- Your iTerm2 preferences file, so I can see your exact profile font and settings. It is at ~/Library/Preferences/com.googlecode.iterm2.plist. Please attach the file itself.
- If you know it offhand, the font set for that profile (Settings > Profiles > Text > Font). I suspect it is a proportional font, which would be unusual for a terminal and might be part of what is going wrong.

Thanks again for the report.

--
You received this message because you are subscribed to the Google Groups "iterm2-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to iterm2-discus...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/iterm2-discuss/90e36117-6573-42d4-b950-25cd6876987en%40googlegroups.com.


doerw...@googlemail.com

unread,
Sep 11, 2026, 6:07:13 AMSep 11
to iterm2-discuss
George Nachman schrieb am Freitag, 11. September 2026 um 00:51:22 UTC+2:
A few separate things are happening here:

1. That popup is command-line completion from the composer. When you press Tab after cd , iTerm2 offers matching entries from your command history (the rows with the clock icon) alongside directory completions, so those rows are past commands rather than a clean list of directories. I am looking at having cd favor directories.

OK.
 
2. The garbled rows that bleed into each other are history entries that contain an embedded newline. They were being drawn across neighboring rows. I have fixed that: embedded newlines now render as a return glyph (↩) and the entry stays on one line. The fix is in and will be in the next beta.

And this seems to be already in 3.7.1. Thanks!
 
3. The part I cannot reproduce is the most serious one: in your screenshot the popup looks like two overlapping table views, the text is in a proportional (non-monospace) font, and the digits in the footer sit off the baseline in what looks like a different font. On current macOS with a normal terminal font I cannot get anything close to that. My best guess is that it is tied to your specific font and possibly your macOS version.

To let me chase that down, would you mind filing an issue at https://iterm2.com/bugs with:

- Your macOS version.
- Your iTerm2 preferences file, so I can see your exact profile font and settings. It is at ~/Library/Preferences/com.googlecode.iterm2.plist. Please attach the file itself.
- If you know it offhand, the font set for that profile (Settings > Profiles > Text > Font). I suspect it is a proportional font, which would be unusual for a terminal and might be part of what is going wrong.

Thanks again for the report.

I created an issue here: https://gitlab.com/gnachman/iterm2/-/work_items/13037

I haven't attached the plist file, since it contains passwords and other stuff.

I could do something like this:

```
python3 - <<'PY' | jq '.["ToolbeltTools"]'
import base64, datetime, json, plistlib, sys

with open("/Users/walter/Library/Preferences/com.googlecode.iterm2.plist", "rb") as f:
    obj = plistlib.load(f)

def convert(x):
    if isinstance(x, dict):
        return {str(k): convert(v) for k, v in x.items()}
    if isinstance(x, list):
        return [convert(v) for v in x]
    if isinstance(x, bytes):
        return base64.b64encode(x).decode()
    if isinstance(x, datetime.date):
        return x.isoformat()
    return x

json.dump(convert(obj), sys.stdout, ensure_ascii=False, indent=3)
PY
```

Do you have a `jq` filter expression that I could use, that outputs the information you need, without dump passwords or other sensitive information?

Servus,
   Walter
 

George Nachman

unread,
Sep 11, 2026, 2:56:05 PMSep 11
to iterm2-...@googlegroups.com
Thanks for being careful with that file, and no need to hand-roll a jq filter. I wrote a small script that does exactly this: it surgically redacts private data from the plist (commands, text-to-send, working directories, hostnames, usernames, URLs, environment variables, regexes, credentials, AI prompts, and saved-arrangement session state) while leaving the structural settings intact, so the result is still a loadable plist that's useful for debugging.

It's here:

Usage (no dependencies, just Python 3):

python3 sanitize_iterm2_plist.py ~/Library/Preferences/com.googlecode.iterm2.plist

That writes com.googlecode.iterm2.sanitized.plist next to the original, and prints a summary of what it redacted. Attach the sanitized file to the issue.

A couple of tips:
- Add --dry-run first to see what it would redact without writing anything.
- If your profile names, tags, or titles themselves contain sensitive info (for example a profile named after an internal hostname), add --aggressive to redact those too.
- Feel free to eyeball the output before attaching. If you spot anything private that slipped through, let me know the key and I'll add a rule for it.

--
You received this message because you are subscribed to the Google Groups "iterm2-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to iterm2-discus...@googlegroups.com.

doerw...@googlemail.com

unread,
Sep 11, 2026, 3:53:53 PMSep 11
to iterm2-discuss
```
python3 sanitize_iterm2_plist.py --no-private --aggressive ~/Library/Preferences/com.googlecode.iterm2.plist
```

still leaves stuff in there like:

```
                    "Directories" => [
                      0 => "/Users/walter"
                      1 => "/Users/walter"
                      2 => "/Users/walter"
                    ]
```

and

```
                    "Hosts" => [
                      0 => {
                        "Host name" => "meta.local"
                        "User name" => "walter"
                      }
                      1 => {
                        "Host name" => "meta.local"
                        "User name" => "walter"
                      }
                      2 => {
                        "Host name" => "meta.local"
                        "User name" => "walter"
                      }
                    ]
```

which might be sensitive.

I've sent a sanitized version of my preferences directly to you.

George Nachman

unread,
Sep 28, 2026, 5:02:04 PMSep 28
to iterm2-...@googlegroups.com
Thanks for pointing that out. It’s fixed as of commit 63538c9c42538371abb47a4ad071dd51f8a04303.

Reply all
Reply to author
Forward
0 new messages