# `GSPath removeNodeCheckKeepShape:normalizeHandles:error:`

*Instance Method*

Removes a node and adjusts adjacent segments to approximate the path shape.

## Declaration

```swift
func removeNodeCheckKeepShape(_ node: GSNode, normalizeHandles: Bool) throws
```

```objc
- (BOOL) removeNodeCheckKeepShape:(GSNode *) node normalizeHandles:(BOOL) normalizeHandles error:(NSError **) error;
```

```python
removeNodeCheckKeepShape_normalizeHandles_error_(node: GSNode, normalizeHandles: bool) -> tuple[bool, NSError]
```

## Parameters

- `normalizeHandles` — Whether to normalize the remaining handles before fitting the adjusted curve.
- `error` — On failure, an error describing why the node could not be removed.

## Return Value

Whether the node could be removed.

## See Also

### Removing Nodes

- [`GSPath removeNodes:`](/Core/GlyphsCore/GSPath/removeNodes:) — Removes nodes.
- [`GSPath removeObjectFromNodesAtIndex:`](/Core/GlyphsCore/GSPath/removeObjectFromNodesAtIndex:) — Removes the node at an index.
- [`GSPath removeNode:`](/Core/GlyphsCore/GSPath/removeNode:) — Removes a node.
- [`GSPath removeNodeFast:`](/Core/GlyphsCore/GSPath/removeNodeFast:) — Removes a node without registering undo, updating the layer selection, or notifying the layer.
- [`GSPath removeNodeCheck:`](/Core/GlyphsCore/GSPath/removeNodeCheck:) — Removes a node and adjusts adjacent nodes to keep the path structurally valid.
- [`GSPath removeNodeCheckKeepShape:`](/Core/GlyphsCore/GSPath/removeNodeCheckKeepShape:) — Removes a node and adjusts adjacent segments to approximate the path shape.

