diff --git a/add_trailing_comma.py b/add_trailing_comma.py
index 006dfe8..846894c 100644
--- a/add_trailing_comma.py
+++ b/add_trailing_comma.py
@@ -341,11 +341,11 @@ def _fix_src(contents_text, py35_plus, py36_plus):
             add_comma = not func.star_args or py36_plus
             # functions can be treated as calls
             fixes.append((add_comma, _find_call(func, i, tokens)))
-        # Handle parenthesized things
-        elif token.src == '(':
-            fixes.append((False, _find_simple(i, tokens)))
         elif key in visitor.literals:
             fixes.append((True, _find_simple(i, tokens)))
+        # Handle parenthesized things, unhug of tuples, and comprehensions
+        elif token.src in START_BRACES:
+            fixes.append((False, _find_simple(i, tokens)))
 
         for add_comma, fix_data in fixes:
             if fix_data is not None:

autopep8 and add-trailing-comma fight over indentation
Here's an (admittedly poorly-formatted) reproduction. FWIW I prefer add-trailing-comma's approach, but curious to hear your thoughts. This is obviously weird indentation but ideally they wouldn't fight. Do we need to make autopep8 smarter?

## what add-trailing-comma wants
```python
[a()
    for b in c
    if (
        d
    )
]
```

## what autopep8 wants
```python
[a()
    for b in c
    if (
        d
)
]
```
diff --git a/tests/add_trailing_comma_test.py b/tests/add_trailing_comma_test.py
index a663f99..ff4a4a8 100644
--- a/tests/add_trailing_comma_test.py
+++ b/tests/add_trailing_comma_test.py
@@ -577,6 +577,23 @@ def test_noop_unhugs(src):
             '    ], None,\n'
             ')',
         ),
+        # Regression test for #32
+        (
+            '[a()\n'
+            '    for b in c\n'
+            '    if (\n'
+            '        d\n'
+            '    )\n'
+            ']',
+
+            '[\n'
+            '    a()\n'
+            '    for b in c\n'
+            '    if (\n'
+            '        d\n'
+            '    )\n'
+            ']',
+        ),
     ),
 )
 def test_fix_unhugs(src, expected):

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest numpy>=1.16.0 pandas>=1.0.0
apt-get update apt-get install -y gcc
3.9
requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
-e git+https://github.com/asottile/add-trailing-comma.git@bd9cb3fdaecb61b016162d2071de2cf0ef631eaa#egg=add_trailing_comma
exceptiongroup==1.2.2
iniconfig==2.1.0
numpy==2.0.2
packaging==24.2
pandas==2.2.3
pluggy==1.5.0
pytest==8.3.5
python-dateutil==2.9.0.post0
pytz==2025.2
six==1.17.0
tokenize_rt==6.1.0
tomli==2.2.1
tzdata==2025.2

name: add-trailing-comma
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=25.0=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - exceptiongroup==1.2.2
      - iniconfig==2.1.0
      - numpy==2.0.2
      - packaging==24.2
      - pandas==2.2.3
      - pluggy==1.5.0
      - pytest==8.3.5
      - python-dateutil==2.9.0.post0
      - pytz==2025.2
      - six==1.17.0
      - tokenize-rt==6.1.0
      - tomli==2.2.1
      - tzdata==2025.2
prefix: /opt/conda/envs/add-trailing-comma

tests/add_trailing_comma_test.py::test_fix_unhugs[[a()\n
tests/add_trailing_comma_test.py::test_fixes_literals[x tests/add_trailing_comma_test.py::test_fixes_py35_plus_literals[x tests/add_trailing_comma_test.py::test_fix_unhugs[x tests/add_trailing_comma_test.py::test_fixes_calls[(\n
tests/add_trailing_comma_test.py::test_fix_calls_noops[x tests/add_trailing_comma_test.py::test_fix_calls_noops[x(1)] tests/add_trailing_comma_test.py::test_fix_calls_noops[tuple(\n tests/add_trailing_comma_test.py::test_fix_calls_noops[x(\n tests/add_trailing_comma_test.py::test_fix_calls_noops[x((\n tests/add_trailing_comma_test.py::test_fix_calls_noops[(\n tests/add_trailing_comma_test.py::test_py35_plus_rewrite tests/add_trailing_comma_test.py::test_fixes_calls[x(\n tests/add_trailing_comma_test.py::test_fixes_calls[foo()(\n tests/add_trailing_comma_test.py::test_fixes_calls[x({}).y(\n tests/add_trailing_comma_test.py::test_noop_literals[(1, tests/add_trailing_comma_test.py::test_noop_literals[[1, tests/add_trailing_comma_test.py::test_noop_literals[{1, tests/add_trailing_comma_test.py::test_noop_literals[{1: tests/add_trailing_comma_test.py::test_noop_literals[if tests/add_trailing_comma_test.py::test_noop_tuple_literal_without_braces tests/add_trailing_comma_test.py::test_noop_function_defs[def tests/add_trailing_comma_test.py::test_fixes_defs[def tests/add_trailing_comma_test.py::test_fixes_defs_py36_plus[def tests/add_trailing_comma_test.py::test_noop_unhugs[f(x, tests/add_trailing_comma_test.py::test_noop_unhugs[f(\n tests/add_trailing_comma_test.py::test_noop_unhugs[f((\n tests/add_trailing_comma_test.py::test_noop_unhugs[f([\n tests/add_trailing_comma_test.py::test_noop_unhugs[textwrap.dedent("""\n tests/add_trailing_comma_test.py::test_fix_unhugs[f(\n tests/add_trailing_comma_test.py::test_fix_unhugs[f(a,\n tests/add_trailing_comma_test.py::test_fix_unhugs[def tests/add_trailing_comma_test.py::test_fix_unhugs[with tests/add_trailing_comma_test.py::test_fix_unhugs[if tests/add_trailing_comma_test.py::test_fix_unhugs[{'foo': tests/add_trailing_comma_test.py::test_fix_unhugs[f(g(\n tests/add_trailing_comma_test.py::test_fix_unhugs[{"foo": tests/add_trailing_comma_test.py::test_fix_unhugs[x("foo", tests/add_trailing_comma_test.py::test_fix_unhugs[x("foo"\n tests/add_trailing_comma_test.py::test_fix_unhugs_py3_only[def tests/add_trailing_comma_test.py::test_noop_trailing_brace[[]] tests/add_trailing_comma_test.py::test_noop_trailing_brace[x tests/add_trailing_comma_test.py::test_noop_trailing_brace[y tests/add_trailing_comma_test.py::test_noop_trailing_brace[foo.\\\n tests/add_trailing_comma_test.py::test_fix_trailing_brace[x tests/add_trailing_comma_test.py::test_main_trivial tests/add_trailing_comma_test.py::test_main_noop tests/add_trailing_comma_test.py::test_main_changes_a_file tests/add_trailing_comma_test.py::test_main_syntax_error tests/add_trailing_comma_test.py::test_main_non_utf8_bytes tests/add_trailing_comma_test.py::test_main_py35_plus_argument_star_args tests/add_trailing_comma_test.py::test_main_py35_plus_argument_star_star_kwargs tests/add_trailing_comma_test.py::test_main_py36_plus_implies_py35_plus tests/add_trailing_comma_test.py::test_main_py36_plus_function_trailing_commas
add_trailing_comma.py
add_trailing_comma.py